javascript - 为什么谷歌浏览器会为 ajax 向 ebay-api 端点提供错误未知 url 方案获取请求
问题描述
我正在尝试向 ebay api 发出一个简单的 get 请求,而我的代码仅在 chrome 中返回错误。在 safari 和 firefox 中,以下代码按预期返回数据。Chrome 给出以下错误: GET about:blank net::ERR_UNKOWN_URL_SCHEME 在控制台中。
在网络检查器中,我看到获取请求的 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>
解决方案
我做了更多的挖掘,发现我的错误是由导致 307 内部重定向的 chrome 扩展引起的。我禁用了它,一切正常。
推荐阅读
- opencv - 在 YoloV4 演示中更改视频流分辨率
- reactjs - Silhouette - react + scala + play app 身份验证流程
- python-3.x - 为什么我的代码在 Code Chef 中不起作用,尽管它在我的本地机器上运行良好
- c# - Task.ContinueWith() 正在执行,但任务状态仍为“正在运行”
- filesystems - 只允许写入一次的常规文件系统
- symfony - WebPack Encore 中缺少带有 CKEditor 的工具栏项目
- unity3d - 为什么在应用空闲动画时 Prefab 显示大于默认值?
- xcode - Xcode 预览即使在固定后也会发生变化
- python - 如何让 Pillow 被 pycharm 识别
- css - 更改图像大小以适合标题框