Jquery jsonp跨域与php交互

来源:互联网 发布:无法连接steam网络 编辑:程序博客网 时间:2024/06/05 09:07

代码部分:

$.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其实就是回调函数的名称,所以,函数名后要有(),并把最终的结果写在里面。