jQuery ajax调用代理...只在第一次工作

时间:2013-09-04 06:28:59

标签: jquery ajax

我正在使用我在PHP中编写的本地代理脚本进行一些跨域Ajax调用。 Ajax调用的Javascript代码(简化版本)如下:

<script src="jquery/jquery-1.10.2.min.js"></script>

<script language="Javascript">
function link1 ()
{
    $.ajax ({url:"proxy.php", data:{url:"http://www.microsoft.com/"}})
        .done (function (h) { $("#ResponseBody").html(h); })
        .fail (function () { alert ("Ajax failed..."); });
}
function link2 ()
{
    $.ajax ({url:"proxy.php", data:{url:"http://www.yahoo.com/"}})
        .done (function (h) { $("#ResponseBody").html(h); })
        .fail (function () { alert ("Ajax failed..."); });
}
</script>

<a href="javascript:link1();">link 1</a><br>
<a href="javascript:link2();">link 2</a><br>

<div id="ResponseBody"></div>

因此,在这个例子中它非常简单。我有两个函数,每个函数对我的代理脚本执行Ajax查询,并向其传递一个不同的远程URL。您可以单击其中一个链接来调用其中一个功能。无论我点击哪一个,它都是第一次工作。但是第二次点击一个链接(同一个链接或另一个链接),它就失败了。

我确实尝试删除显示Ajax结果的.done处理程序中的代码,然后它突然开始工作,虽然没有显示结果但是失败了执行Ajax查询的目的。我还尝试使用对服务器上两个不同的纯HTML文件的引用来替换对代理脚本的引用,并且它工作正常。

有没有人知道为什么这些查询只能在第一次工作,而不是在那之后呢?

0 个答案:

没有答案