不太了解百度后台是什么情况,我也只是做一个简单的搜索功能用了跨域,。我看数据请求成功了,数据已经返回。但是谷歌浏览器总是出现这种情况(友情提示:愿意回答的大神就请帮着看看,不愿意帮助的也请别乱踩,别干缺德事!!)
还有就是我在hbulider下面打开一个html请求apache下面的php文件,也会出现类似情况。代码贴上
$.ajax({
type: 'GET',
url: 'http://127.0.1.0/ser.php',
contentType: 'application/json;charset=utf-8',
dataType: 'jsonp',
jsonp: 'callback' // 重写后台接收回调函数的数据名称
})
.done(function(data){
console.log(data);
})
.fail(function(ec){
console.log(ec);
});
php:
<?php
header("Cache-Control: no-cache");
header('Content-Type: text/html;charset=utf-8');
header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型
header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept,X-Requested-with, Origin'); // 设置允许自定义请求头的字段
$cb = $_GET['callback'];
echo $cb.'(5)';
?>
浏览器端跨域,必须服务端明确指示允许的来源才可以,否则会被跨域策略限制。
例如:自己控制的服务器,在全局输出里加一个header
用 * 则不限制来源域名,也可以指定域名
否则不能用ajax访问。
jsonp的访问策略,是以script模式插入到文档流中,请求回来会将数据包裹在callback函数里,从而实现传输数据的目的
===================================//
你后面这两段代码没问题呀,控制台是可以打印出 请求回来的数据的



同源不同源效果都一样