Heim > Backend-Entwicklung > PHP-Tutorial > php+jquery跨域提交问题,别嫌弃啊只有20分了

php+jquery跨域提交问题,别嫌弃啊只有20分了

WBOY
Freigeben: 2016-06-23 14:24:52
Original
882 Leute haben es durchsucht

1:A域服务器端输出json如下

$test = "{name:\"John\", message:\"hello John\"}";echo $test;
Nach dem Login kopieren

2:B域服务端程序如下
function sendEmail() {	var orderingId = $("#orderingId").val();	 alert(orderingId);	 $.ajax({		 type: "get",		 url:"http://www.testB.com/cronemail/cron_expressmail.php?orderingid=2222",		 cache : false, 		 dataType : "jsonp",		 jsonp: "callbackfun",		 jsonpCallback:"jsonpCallback",                 success:function (json) {			alert(json.message);		}	 })}
Nach dem Login kopieren

可是页面提示错误:
用户代理: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
时间戳: Tue, 22 Oct 2013 10:48:39 UTC


消息: Script error
行: 0
字符: 0
代码: 0
URI: http://www.test.com/cronemail/cron_expressmail.php?orderingid=2222&callbackfun=jsonpCallback&_=1382438914750


回复讨论(解决方案)

ajax 不能跨域,这是不争的事实
你的代码只是形式上的跨域,实际上是

所以该 url 必须返回合法的 js 语句
仅仅一个 json 串是不够的

$test = "{name:\"John\", message:\"hello John\"}";echo $_GET['callbackfun'].'('.$test.')';
Nach dem Login kopieren

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage