javascript - 为什么 google chrome 会给 ebay-api 端点的 ajax get 请求提供错误未知的 url 方案

标签 javascript jquery ajax google-chrome ebay-api

我试图向 ebay api 发出一个简单的 get 请求,但我的代码仅在 chrome 中返回错误。在 safari 和 firefox 中,以下代码按预期返回数据。 Chrome 给出以下错误: 在控制台中获取 about:blank net::ERR_UNKOWN_URL_SCHEME。

在网络检查器中,我看到 get 请求的 307 内部重定向。后跟请求名称 about:blank。检查 header 会发现请求 URL 设置为 about:blank。

我认为我原来的请求重定向到 about:blank 但这只发生在 chrome 中,我不知道为什么。

$.ajax({
  dataType: "jsonp",
  method: "GET",
  url:"https://svcs.ebay.com/services/search/FindingService/v1?OPERATION-NAME=findCompletedItems&SERVICE-VERSION=1.7.0&SECURITY-APPNAME=RoryGarc-priceGen-PRD-55d8a3c47-c767674d&GLOBAL-ID=EBAY-US&RESPONSE-DATA-FORMAT=JSON&callback=jsonpcallback&REST-PAYLOAD&keywords=a7s+ii&itemFilter(0).name=Condition&itemFilter(0).value=3000&itemFilter(1).name=SoldItemsOnly&itemFilter(1).value=true&paginationInput.entriesPerPage=10&paginationInput.pageNumber=1",
  success: function (html) {
        alert('successful : ' + html);
    },
    error: function (jqXHR, exception) {
        if (jqXHR.status === 0) {
            alert('Not connect.\n Verify Network.');
        } else if (jqXHR.status == 404) {
            alert('Requested page not found. [404]');
        } else if (jqXHR.status == 500) {
            alert('Internal Server Error [500].');
        } else if (exception === 'parsererror') {
            alert('Requested JSON parse failed.');
        } else if (exception === 'timeout') {
            alert('Time out error.');
        } else if (exception === 'abort') {
            alert('Ajax request aborted.');
        } else {
            alert('Uncaught Error.\n' + jqXHR.responseText);
        }
    }

});

function jsonpcallback(jsdata) {
  console.log(jsdata.findCompletedItemsResponse[0].searchResult[0].item);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

最佳答案

我做了一些更多的挖掘,发现我的错误是由 chrome 扩展引起的,它导致了 307 内部重定向。我禁用了它,一切正常。

关于javascript - 为什么 google chrome 会给 ebay-api 端点的 ajax get 请求提供错误未知的 url 方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56625170/

相关文章:

javascript - knockout js foreach 与展开/折叠的绑定(bind)

javascript - 如何使用 Javascript 获取 xml 文件中纯文本的属性值?

javascript - 当前时间 零下 4 小时

ajax - 如何配置 Restangular URL 构建的 Id 属性

javascript - 如何存储变量以供其他 jQuery 脚本在页面上使用。

javascript - 尝试...使用 addEventListener 捕获

MVC 中的 javascript - 从另一个列表填充一个列表

Javascript事件触发创建多个按钮.on('click)

php - 如何确定当前使用的网格选项

javascript - JQuery 的 ajax 可以通过 https 发送客户端证书吗?