今天遇到一个关于ajax请求的问题,后端接口没问题,但是前端调用请求地址url啥也打印不出来
想了想就用log打印前后有没有代码执行
/**活动页面浏览量(PV)、浏览人数(UV)**/
function addpv(opttype) {
console.log(111)
finedo.action.ajax({
url: '${ctx}/finedo/hallgift/addServiceRecord',
data: {
"opttype": opttype,
"groupid":channelId
},
callback: function (data) {
}
});
console.log(222)
}
结果 只打印了 111 , 后面的222没有执行
很坑定的找后端说 你写的接口方法有报错问题,后端开发直接用postman给我来了一个打脸。回去接着找自己代码哪里出了问题
用alert() 在ajax请求前后执行一下
/**活动页面浏览量(PV)、浏览人数(UV)**/
function addpv(opttype) {
alert(111)
finedo.action.ajax({
url: '${ctx}/finedo/hallgift/addServiceRecord',
iswait: false,
async:false,
data: {
"opttype": opttype,
"groupid":channelId
},
callback: function (data) {
}
});
alert(222)
}
卧槽 用alert()前后竟然执行了 ajax请求也请求数据成功了 ,太神奇了, 把alert()注释后又不执行了,问题还是出在了ajax请求上,用的是自己公司封装的ajax ,百度了很多办法,最后用异步的async解决了
/**活动页面浏览量(PV)、浏览人数(UV)**/
function addpv(opttype) {
// alert(111)
finedo.action.ajax({
url: '${ctx}/finedo/hallgift/addServiceRecord',
iswait: false,
async:false, //默认开启true
data: {
"opttype": opttype,
"groupid":channelId
},
callback: function (data) {
}
});
// alert(222)
}
关闭异步请求,async属性把默认的true 改为 false ,就可以请求数据