ajax 怎么访问 url 呀,为什么请求成功了,没有数据返回??请大神们给以指点,在此谢过

大神们要是测试的时候请自己弄个jquery

<html><head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=WBixESWBKrsRjGRa4yuTnV5r"></script> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $.get("http://api.map.baidu.com/location/ip", {ak:"WBixESWBKrsRjGRa4yuTnV5r", ip:"61.143.101.10", coor:"bd09ll"},function(data,status){ alert("===============" + data); } ); }); }); </script></head><body> <button>向页面发送 HTTP GET 请求,然后获得返回的结果</button></body></html>

第1个回答  推荐于2017-11-19
原因:


阻止交叉源请求:同源策略不允许读取
http://api.map.baidu.com/location/ip?ak=WBixESWBKrsRjGRa4yuTnV5r&ip=61.143.101.10&coor=bd09ll
上的远程资源。可以将资源移动到相同的域名上或者启用 CORS 来解决这个问题。
建议:

你的处理思路有问题,你应该把请求百度的接口放到本地后台接口中,比如getapi.php,getapi.asp,在这些文件中,利用fileget curl等来获取到远程数据回执,然后再返回前台页面追问

我现在加了一个jQuery.support.cors = true; 在IE中可以执行了,在火狐中还是执行不了,而且errorThrown也是空。

追答

最好是后台处理,cors,我没怎么用过,帮不上你。ajax本身是不允许跨站的

本回答被网友采纳
第2个回答  2017-11-18
嗯?我记得$.get的第二个参数是一个json, 其中ak,ip也应该用引号括起来的,否则成了变量了。
第3个回答  2017-08-04
一般需要经过标准化处理(减均值,除方差)。好处可以使预测方差减小,同时使不同变量在同样的尺度下产生交集。其经济含义为并集的额外解释能力
相似回答