我正在尝试找出jquery的.load()方法在以下代码中返回的数据/错误(#content元素为空,因此我假设存在某种错误)。
alt text http://www.deviantsart.com/upload/ksqe5b.png
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript"
src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.3.2");
google.setOnLoadCallback(function() {
$('#loadButton').click(loadDataFromExernalWebsite);
});
function loadDataFromExernalWebsite() {
console.log("test");
$('#content').load('http://www.tanguay.info/web/getdata/index.php?url=http://www.tanguay.info/knowsite/data.txt', function() {
alert('Load was performed.');
});
}
</script>
</head>
<body>
<p>Click the button to load content:</p>
<p id="content"></p>
<input id="loadButton" type="button" value="load content"/>
</body>
</html>
答案 0 :(得分:3)
Firebug的'Net'标签应该显示所有HTTP请求(包括来自其他域的任何HTTP请求)
答案 1 :(得分:1)
没有错误。由于XMLHttpRequest的SOO(同源策略),因为您从远程主机(与您的应用程序不同的域)请求。 XMLHttpRequest将不返回任何内容。
但是如果将.load回调方法签名修改为function(response, status, xhr) {...}
,则返回的数据将在response
中。但在你的情况下,那里什么都没有。
答案 2 :(得分:1)
我建议您安装firequery,您可以轻松检测到jquery问题。
答案 3 :(得分:1)
尝试
$("#content").load("http://www.tanguay.info/web/getdata/index.php?url=http://www.tanguay.info/knowsite/data.txt", function(response, status, xhr) {
if (status == "error") {
console.log("Error code :" + xhr.status); // error code
console.log ("Error text :" + xhr.statusText); // error text
}
});