用ajax请求领券api
第一时间想到的就是ajax,直接前端请求领券api,结果不可行[aru_52]。原因是不同源,限制了非美团域名请求api,后来一想,程序员又不是傻子[aru_162],一般都会限制这个的,于是放弃ajax,使用php curl写的。
ajax的同步与异步
先看下面的代码
function ofive(){
let fanhui;
$.ajax({
url:"./qiang15.php", //请求的url地址
dataType:"text", //返回格式为json
async:true,//请求是否异步
data:{"cookie":cks}, //参数值
type:"POST", //请求方式
success:function(req){
$('#15').text("抢券提示为:"+req);
fanhui15 = req;
}
});
return fanhui;
}
当时调用这个函数,返回值一直undefined[aru_60],后来发现这里的ajax设置的是异步(async:true),异步的意思就是:无论这个ajax是否执行成功,都继续执行下面的代码。也就是调用这个函数后,没有等ajax成功返回,就执行(return fanhui),这个时候(fanhui)还没有被赋值,所以一直是undefined。解决办法是改成同步(async:false),这样一定要等ajax成功返回,才会执行(return fanhui)。
本文作者为隔壁小蒋,转载请注明。