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返回的参数值相对应

posted @ 2017-07-12 19:49  MasterC  阅读(134)  评论(0编辑  收藏  举报