大概这样
axios({
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
url: '你的请求地址?current=1&rows=20',
}).then(res => console.log(res))
不知道你这个问题是否已经解决, 如果还没有解决的话:如果每次进行post请求都需要传第3个参数(即 { emulateJSON: true } )也挺麻烦的,可以用Vue.http.options.emulateJSON = true;
上面 post 的请求可以改造成下面:
...
<script>
Vue.http.options.emulateJSON = true;
new Vue({
el: '#app',
methods: {
postInfo() {
var url = 'http://www.phonegap100.com/appapi.php';
this.$http.post(url, { a: 'getPortalList', catid: 20 }).then(response => {
console.log("response===", response.body);
}, response => {
// error callback
});
},
}
})
</script>
根据问题描述,你希望在前端中调用后端提供的接口,并将返回的数据打印到控制台上。根据给出的参考资料,我将为你提供具体的解决方案。
首先,你需要在前端的代码中添加一个调用接口的方法,并在该方法中发送POST请求到后端接口。在代码中创建一个POST请求的方法,如下所示:
methods: {
postInfo() {
var url = '后端接口地址'; // 替换为实际的后端接口地址
var requestData = {}; // 用来存放请求参数的对象
// 将需要传递给后端的参数填充到requestData对象中
requestData.a = 'getPortalList';
requestData.catid = 20;
// 发送POST请求,并处理返回的数据
this.$http.post(url, requestData).then(response => {
console.log("response===", response.body); // 在控制台打印返回的数据
}, err => {
console.error(err); // 处理错误情况
});
},
}
在以上代码中,你需要将"后端接口地址"替换为实际的后端接口地址。requestData对象用来存放需要传递给后端的参数,根据你提供的示例接口,将"a"和"catid"参数添加到requestData中。接下来,使用Vue的$http模块的post方法发送POST请求,传递后端接口地址和requestData作为参数。在成功回调函数中,可以访问response.body来获取返回的数据,在控制台打印即可。
此外,根据参考资料的内容,你可能还需要在全局设置中将POST请求的类型设置为表单请求。可以在Vue实例创建前添加如下代码:
Vue.http.options.emulateJSON = true;
以上代码会将所有的POST请求都设置为表单请求,避免每次请求都需要传递第三个参数。
至此,你已经完成了调用后端接口并打印返回数据的操作。你可以将postInfo方法绑定到合适的操作上(例如按钮点击事件),来触发调用接口的操作。
希望以上解决方案对你有帮助。如果你有任何问题,请随时提问。
假设你的 api 后台地址是 https://www.abc.com/apiname
// 构造要提交的JSON数据
var jsonData = {
nameLike: "aaa",
asc: true
};
// 发起Ajax POST请求
$.ajax({
url: "https://www.abc.com/apiname?current=1&rows=20&searchCount=false",
type: "POST",
contentType: "application/json",
data: JSON.stringify(jsonData),
success: function(response) {
// 请求成功处理逻辑
console.log("请求成功", response);
},
error: function(xhr, status, error) {
// 请求失败处理逻辑
console.log("请求失败", error);
}
});