我正在尝试向ebay api发出一个简单的get请求,而我的代码只在chrome中返回一个错误。在safari和firefox中,下面的代码按预期返回数据。Chrome给出以下错误: GET about: console中的net::ERR_UNKOWN_URL_SCHEME为空。
在网络检查器中,我看到了get请求的307内部重定向。后跟请求名称about:空白。检查报头会显示一个设置为about:blank的请求URL。
我想我最初的请求是重定向到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>
发布于 2019-06-19 03:08:38
我做了更多的挖掘,发现这个错误是由一个chrome扩展引起的,它导致了307内部重定向。我禁用了它,一切都运行得很好。
https://stackoverflow.com/questions/56625170
复制相似问题