我最近才开始使用jQuery,而且大多数都没有问题。我刚刚开始研究使用Ajax调用并立即遇到绊脚石。为了说明我的问题,我写了一小段演示代码......
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$.get("http://www.google.co.uk", function(data) {
alert(data);
}, "html");
});
</script>
<style>
#page
{
border:1px solid black;
width:640px;
height:480px;
}
</style>
</head>
<body>
<div id="page"></div>
</body>
</html>
正如您所看到的,页面加载然后它应该将URL的内容(在本例中为google)加载到页面上唯一的div中,但它不起作用。
使用Chrome中的开发者工具我可以看到正在发送的请求,但它被标记为“已取消”(是的,1升!)
我真的很感谢有人帮我解决一个非常简单的问题。正如我所说,这实际上是我第一次尝试这样做。卡住我通常需要更长的时间!
提前感谢任何建议:)
答案 0 :(得分:3)
我猜这是一个安全问题。您无法将其他服务器中的页面加载到文档中。有关详细信息,请参阅http://api.jquery.com/load/。
答案 1 :(得分:2)
替代方法
制作服务器端代理,让它请求页面并通过json或您首选的格式将响应发送到您的客户端
OR
答案 2 :(得分:1)
在“.load()”
中加载外部链接创建页面说external.php
在external.php中输入以下代码:
<?php $url = 'http://ur/url/here'; echo $var = get_file_contents($url);?>
现在在jquery中加载此页面,它将加载外部链接
$( 'DIV')负载( 'external.php');