代码之家  ›  专栏  ›  技术社区  ›  rook

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

  •  1
  • rook  · 技术社区  · 14 年前

    我需要发送一个GET请求到另一个域最好使用jQuery。这不是一个同源策略旁路,因为我不需要得到响应。例如,使用JavaScript我知道我可以做到:

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

    有更好的方法使用jQuery吗?

    6 回复  |  直到 14 年前
        1
  •  4
  •   Nick Craver    14 年前

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

    $('<img src="http://somedomain.com/someapp.php?data='+data+'">');
    
        2
  •  2
  •   Martin    14 年前

    var img = new Image();
    img.src = 'http://somedomain.com/someapp.php...' + ...;
    
        3
  •  0
  •   0x1F602    14 年前

    具体来说,将其添加到<head>元素中。我不确定它在IE中是否有效。

        4
  •  0
  •   Bang Dao    14 年前

    你可以这样做:

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

    可以使用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 把这一切都包装得很好。

        6
  •  0
  •   Dr.Molle    14 年前

    <img> 进入DOM。

    简单地说:

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

    这将创建一个新的img元素,类似于new Image()。 如果提供了src属性,则将加载映像(发送请求)

    但我认为这不是更好的方法,我是另一种方法。

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