ajax 解决跨域问题

Posted 一个IT少年的个人记事本

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax 解决跨域问题相关的知识,希望对你有一定的参考价值。

php文件内要加上以下代码

// 指定允许其他域名访问  
header(‘Access-Control-Allow-Origin:*‘);  
// 响应类型  
header(‘Access-Control-Allow-Methods:POST‘);  
// 响应头设置  
header(‘Access-Control-Allow-Headers:x-requested-with,content-type‘);  

 

php页面输出时按照以下格式

echo "success_jsonpCallback(".json_encode($my_array).")";

 

AJAX需要做以下修改

$.ajax({
    type : "post",
    url : "ajax.php",
    dataType : "jsonp",
    jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
    jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 
    success : function(json){
        alert(‘success‘);
    },
    error:function(){
        alert(‘fail‘);
    }
});

 注意红色部分要和上方php返回的参数值相对应

以上是关于ajax 解决跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

如何解决ajax跨域问题(转)

如何解决ajax跨域问题(转)

ajax跨域问题解决思路

如何解决IE8下Ajax调用时跨域的问题

JQuery - Ajax和Tomcat跨域请求问题解决方法!

springmvc用@crossorigin解决跨域 ajax怎么写