jQuery AJAX跨域这是两个页面,test.php和testserver.php。test.php的<script src="scripts/jq.js" type="text/javascript"></script><script>
$(function() {
$.ajax({url:"testserver.php",
success:function() {
alert("Success");
},
error:function() {
alert("Error");
},
dataType:"json",
type:"get"
}
)})</script>testserver.php<?php
$arr = array("element1",
"element2",
array("element31","element32"));$arr['name'] = "response";echo json_encode($arr);?>现在我的问题是:当这两个文件都在同一台服务器(localhost或web服务器)上时,它可以工作并被alert("Success")调用; 如果它位于不同的服务器上,意味着Web服务器上的testserver.php和localhost上的test.php,它就无法工作,并且alert("Error")正在执行。即使ajax中的URL更改为http://domain.com/path/to/file/testserver.php
4 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
您可以通过添加Access-Control-Allow-Origin来通过HTTP标头控制此操作。将其设置为*将接受来自任何域的跨域AJAX请求。
使用PHP非常简单,只需将以下行添加到您希望从域外访问的脚本中:
header("Access-Control-Allow-Origin: *");
不要忘记在httpd.conf中启用mod_headers模块。
添加回答
举报
0/150
提交
取消