无法获取jquery ajax响应
问题描述:
这是我完整的html上下文。无法获取jquery ajax响应
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test page</title>
<script language="javascript" type="text/javascript" src="jquery-1.5.1.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$.getJSON('http://10.10.10.10:8123/BMreport.txt', function (data) {
alert("callback");
});
});
</script>
</head>
<body>
<p>Test Page</p>
</body>
</html>
以及警报不显示。 BMreport.txt采用JSon格式。不知道为什么... --------------解决方案------------ 10.10.10.10:8123是从这个网站不同的域。将它们放在同一个域中后,它可以工作
答
检查控制台是否有任何错误,或使用$ .ajax()而不是$ .getJSON并提供“错误”函数。当jQuery试图解析你的json时,最有可能出现问题。
$(document).ready(function() {
$.ajax({
url: 'http://10.10.10.10:8123/BMreport.txt',
success: function (data) {
alert("callback");
},
error: function(req, err) {
alert(req.responseText); // This will alert whatever your .txt-file outputs
}
});
});
浏览器是否报告了错误? – lonesomeday 2011-05-18 07:29:02
如果你的工作站不是_same origin_,如http://10.10.10.10:8123,那么你的运气不好。阅读** **同源策略**:http://en.wikipedia.org/wiki/Same_origin_policy – 2011-05-18 07:33:28
@Alex。好的,我找到了原因。 10.10.10.10:8123和这个html是在不同的网站。把它们放在同一个地方后就解决了。 – demaxSH 2011-05-18 07:48:34