原文:http://blog.hachuizi.com/php/301.html
项目遇到这个问题,网上解释还是很多的,但根据自己实际需求能正确用到,是不可能的。
整理一下自己目前遇到的:
情况:本地(127.0.0.1)+内网(192.168.0.*) ajxa请求php接口。
刚开始$post(){}方式请求,报错Access-Control-Allow-Origin
正确处理:
服务器文件(PHP)添加
// 指定允许其他域名访问
header('Access-Control-Allow-Origin:');//代表任意
额外补充header知识:
header(‘Content-Type: text/html; charset=UTF-8’);
// 指定允许其他域名访问
header(‘Access-Control-Allow-Origin:*’);
// 响应类型
header(‘Access-Control-Allow-Methods:POST’);
// 响应头设置
header(‘Access-Control-Allow-Headers:x-requested-with,content-type’);
返回数据 echo json_encode();
根据度娘修改成ajxa请求:
$.ajax({
url:"http://192.168.0./index.php?app=&mod=&act=&total="+total,
type:'GET', //或许也可以post请求,自己没试。
dataType:'text', //试过类型为json,jsonp,但都会出现error为200的错。
success: function(data){
var dataObj=eval("("+data+")");//吧json数据对象化
for(var i=0;i