Javascript跨域的即发即弃请求

Dea*_*ean 0 javascript ajax

我正在寻找一个简单的javascript系统,用于对网址进行跨域点火和忘记调用.由于这个网址不会给我任何其他状态:200当一切都很好时,我正在努力想出最好的解决方案.

我正在调用的URL不受我的控制,因此实现JSONP解决方案或在标头中设置"Access-Control-Allow-Origin"不是一种选择.

另外,我被要求在不依赖jQuery的情况下编写它.

我正在调查的一个这样的解决方案涉及创建一个新的脚本elelement,其中包含src属性.但是,由于会有很多这样的呼叫,我也想在每次通话后进行清理.

这是我到目前为止的想法:

var fireAndForgetGETRequest = function(url) {
    var head = document.getElementsByTagName("head")[0];
    var scriptTag = document.createElement("script");
    scriptTag.type = "text/javascript";
    head.appendChild(scriptTag);

    scriptTag.src = url;

    setTimeout(function() {
        head.removeChild(scriptTag);
        scriptTag = null;
    }, 5000);
};
Run Code Online (Sandbox Code Playgroud)

这将在任意时间(在这种情况下为5秒)后清理脚本标记.

这是一个合理的解决方案吗?我是否需要在清理之前等待或立即提出要求?

你的任何帮助JavaScript大师将不胜感激:)

epa*_*llo 8

如果您不关心响应,为什么要打开自己的XSS攻击?通过图像请求发送GET请求.

function sendData(url) {
    function remove() { 
        img = null; 
    }
    var img = new Image();
    img.onerror = remove;
    img.onload = remove;
    img.src = url;   
}
Run Code Online (Sandbox Code Playgroud)