跨域问题产生是因为浏览器的 同源策略。解决办法参照:
http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html
一般解决办法:使用jsonp(比较老),使用CORS跨域资源共享(Cross-origin resource sharing)(推荐)
1.jsonp方法
页面ajax请求(只能发送get请求,即使ajax是post方法):
一般解决办法:使用jsonp(比较老),使用CORS跨域资源共享(Cross-origin resource sharing)(推荐)
1.jsonp方法
页面ajax请求(只能发送get请求,即使ajax是post方法):
<script> $(function() { $.ajax({ url:'xxxxx', dataType : "JSONP", type : "POST", data : { 'value':2, 'type' :'测试', 'desc' : 'desc', 'openid' : '12412' }, success : function(response) { console.log(response.msg); }, error : function(e) { console.log(e); } }); }) </script>
后端php代码(基于laravel):
return response()->jsonp($callback, ['code' => 404, 'msg' => '未找到对应用户'], 404);2.修改后端返回头
<script> $(function() { $.ajax({ url:'xxxxx', type : "get", data : { 'value':2, 'type' :'测试', 'desc' : 'desc', 'openid' : '12412' }, success : function(response) { console.log(response.msg); }, error : function(e) { console.log(e); } }); }) </script>后端php代码(基于laravel):
return response()->json(['code' => 404, 'msg' => '未找到对应用户'], 404, [header('Access-Control-Allow-Origin:http://www.xyzabc.com.cn')]);有关CROS的详细介绍参照阮一峰老师的这篇文章: http://www.ruanyifeng.com/blog/2016/04/cors.html