使用jQuery向另一个域发送GET请求,不需要http响应

时间:2010-10-03 01:47:41

标签: javascript jquery

我需要优先使用jQuery向另一个域发送GET请求。这不是相同的原始策略绕过,因为我不需要得到响应。例如,使用JavaScript,我知道我可以这样做:

document.write('<img src="http://somedomain.com/someapp.php?data='+data+'>')

使用jQuery有更好的方法吗?

6 个答案:

答案 0 :(得分:4)

您可以创建<img>元素,但不对其执行任何操作...它会导致立即获取,从而导致GET请求:

$('<img src="http://somedomain.com/someapp.php?data='+data+'">');

答案 1 :(得分:2)

我认为你在DOM中不需要它,所以你可以这样做:

var img = new Image();
img.src = 'http://somedomain.com/someapp.php...' + ...;

答案 2 :(得分:0)

您可以使用JS将脚本标记附加到DOM。

var scrElem=document.createElement("script");
scrElem.type="text/javascript"; //maybe not required
scrElem.src="http://bla";
document.getElementsByTagName("head")[0].appendChild(scrElem);

如果你想对它真的很整洁,你也可以给脚本元素一个id属性,这样你就可以在它完成它的工作时删除它。

或者,jQuery getScript很好地完成了所有这些。

答案 3 :(得分:0)

具体来说,将其添加到&lt; head&gt;元件。我不确定它是否适用于IE。

答案 4 :(得分:0)

你可以这样做:

 $('selector').append('<img width="0" height="0" src="http://somedomain.com/someapp.php?data=' + encodeURIComponent(data) + '>');

答案 5 :(得分:0)

无需将<img>注入DOM。

简单地:

var request=$('<img/>').attr('src','http://somedomain.com/someapp.php?data='+data);

这将创建一个新的img-Element,类似于新的Image()。 如果提供了src属性,则将加载图像(发出请求)

但我认为这不是更好的方式,我是另一种方式。 它是jQuery方式做马丁的提案。

但是,如果请求的资源没有产生大的响应会很好,因为无论如何都会加载响应。