Ajax跨域解决方案
方案1:
在请求页面的
ajax
里面加入两行代码:dataType: 'jsonp', jsonp: 'callback'
$.ajax({ type: 'get', data: 'random='+Math.random(), url: 'http://demo.helloweba.net/phpajax/jsonp.php', dataType: 'jsonp', jsonp: 'callback', success: function(data) { console.log(data); }, error: function() { console.log('Request Error.'); } });
然后在响应页面把代码改成以下格式:
echo $_GET['callback'].'('.json_encode(['status' => 1, 'data' => ['name' => 'dongdongdong']]).')'
方案2:
在响应页面加入一行代码:
header('Access-Control-Allow-Origin: *');
*号代表可以让所有的页面请求访问它,*号也可以换成请求页面的网址域名,变成只让这个域名跨域访问它header('Access-Control-Allow-Origin: *'); //或者 header('Access-Control-Allow-Origin: http://www.test.com');
特别感谢
参考博客:PHP处理Ajax请求与Ajax跨域
本作品采用《CC 协议》,转载必须注明作者和本文链接