日期:2014-05-16  浏览次数:20797 次

有关getjson发送请求和接受返回值的问题
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">
$(document).ready(function(){jQuery.getJSON("http://www.loou.com/Test_login.php?callback=?",
function(result){alert(result)}
)});

</script>
请求页面代码就是如上代码    如果去掉callback的话 用firefox查看有一个请求发出  但是得不到返回值,加上callback就是0个请求,请求没有发出  

Test_login.php 接受请求的文件代码如下
//附带callback的情况
$cb=$_GET['callback'];
$result=json_decode($lfjid);
echo($cb."(".$result.")");
------解决方案--------------------
跨域了, 得用jsonp吧
------解决方案--------------------
去掉 xxx=?

这个就不是jsonp了,直接用ajax请求跨域页面会发出,但是浏览器不会将结果返回给ajax对象

jsonp是普通http请求,不是xhr,注意你调试工具的监控选项
------解决方案--------------------
jQuery.getJSON不是jsonp啊, 你查查源码,他是$.get的简单封装而已, 你这个跨域,得用jsonp, 你百度一下如何用jsonp