【问题标题】:Postman extension get a response, but my jquery request not [duplicate]邮递员扩展得到响应,但我的 jquery 请求没有 [重复]
【发布时间】:2014-10-07 03:33:12
【问题描述】:

我使用 Postman 扩展发出 GET 请求并获得响应,但如果我使用 jQuery 发出相同的请求,我会收到一个典型的错误:

XMLHttpRequest 无法加载 http://www.rfen.es/publicacion/ranking/resultsBySwimmer.asp?l=020039535&t=&p=0&e=50L-I。 请求中不存在“Access-Control-Allow-Origin”标头 资源。

为什么会这样?

我的 javascript 代码很简单:

function getTiempo (dni, piscina, prueba) {
    $.ajax({
        async: false,
        type: "GET",
        url: "http://www.rfen.es/publicacion/ranking/resultsBySwimmer.asp?l="+dni+"&t=&p="+piscina+"&e="+prueba
    })
    .done(function (data) {
        console.log(data);
        return data;
    });
}

Postman 扩展也不在同一个域中,为什么会得到响应?

【问题讨论】:

标签: jquery ajax cors postman same-origin-policy


【解决方案1】:

只是为了帮助未来寻找这个特定问题的人:为什么 POSTMAN 有效而我的 jQuery 无效!

实际上,答案很简单:Chrome 扩展程序允许这样做!

常规网页可以使用 XMLHttpRequest 对象从远程服务器发送和接收数据,但它们受到同源策略的限制。扩展并没有那么有限。只要首先请求跨域权限,扩展程序就可以与其源之外的远程服务器通信。

https://developer.chrome.com/extensions/xhr

【讨论】:

  • 有趣的事实 #1:如果您在同一个 POSTMAN 选项卡上打开调试控制台,您将能够执行您的 $.ajax,请求将起作用,因为您在 chrome 扩展“context”中!!
猜你喜欢
  • 2019-06-09
  • 1970-01-01
  • 2017-09-03
  • 2021-03-10
  • 2019-02-18
  • 1970-01-01
  • 2019-05-21
  • 2020-02-09
  • 1970-01-01
相关资源
最近更新 更多