代码部分:
$.ajax({
type:"post",
data:jsdata,
url:weburl,
async:true,
dataType:"jsonp",
jsonp:"callback",//这里可以注释掉
jsonpCallback:"mycallback",//这里可以注释掉
timeout:1000*20,
success:function(data){
if(data.success){
showmsg("签到成功,开始答题");
setTimeout(function(){
document.location.href="dati.php";
},1000);
}
else{
showmsg(data.msg);
}
},
error:function(a,b,c){
alert(JSON.stringify(a));
}
});
php服务端:
$callback=I("callback");
echo $callback."({\"success\":false,\"msg\":\"签到失败!\"})";
说明:
1、如果js中不给jsonp赋值,默认就是callback,
2、jsonpCallback,如果没有赋值,jq会自动生成的,所以,这里的两处都可以注释掉。
3、php需要接受callback参数,关键点在于,$callback其实就是回调函数的名称,所以,函数名后要有(),并把最终的结果写在里面。