跨站点Ajax请求不起作用(parsererror)

我对javascript和ajax一点都不了解,但是我试图使用以下代码从EasyJet网站上读取一些航班信息:

$.ajax({
    url: url,dataType: 'jsonp',dataFilter:function (data,type){
        console.log('OK1');
        console.log(type);
        console.log(data);
    },success: function (res,a,b) {
        console.log('OK');
        console.log(res);
    },error:function (jqXHR,textStatus,errorThrown){
        console.log("Failed");
        console.log("Req " + jqXHR);
        console.log("Text status:" + textStatus);
        console.log("Error:" + errorThrown);
    }
})

我添加了“ dataFilter”选项只是为了尝试看一下原始数据,但实际上并没有太大帮助。最初似乎执行了ajax请求(状态200),但总体失败。 在输出控制台中,我从dataFilter函数中获取了文本“ OK1”,以及数据类型的“ jsonp”和数据本身的“ undefined”。然后我从错误函数中获取“失败”文本,并且textStatus为“ parsererror”

OK1
jsonp
undefined
Failed
Req [object Object]
Text status:parsererror
Error:Error: jQuery35109158123428477556_1589547000902 was not called

“ URL”是:

"https://www.easyjet.com/ejavailability/api/v381/availability/query?AdditionalSeats=0&AdultSeats=1&ArrivalIata=PMO&ChildSeats=0&DepartureIata=LGW&IncludeAdminFees=true&IncludeFlexiFares=false&IncludeLowestFareSeats=true&IncludePrices=true&Infants=0&IsTransfer=false&Languagecode=EN&MaxDepartureDate=2020-09-03&MinDepartureDate=2020-09-01"

此网址通常(在浏览器的地址栏上键入时)以以下格式返回数据:

{
  "AvailableFlights": [
    {
      "CarrierCode": "EZY","FlightNumber": 8243,"SegmentId": "20200901LGWPMO8243","DepartureIata": "LGW","ArrivalIata": "PMO","LocalDepartureTime": "2020-09-01T06:05:00","LocalArrivalTime": "2020-09-01T09:55:00","FlightFares": [
        ...

更多细节:

  • 如果我将dataType更改为其他内容(即'json'或'text'),或者我将其取出,则GET无法正常工作(内容类型:application / json; charset = utf-8)

  • 我已使用插件在浏览器中允许CORS。相同的例程在某些其他网站上也可以正常工作

有人可以建议一种方法来调试此问题吗?还是帮我找出错误?

dongxinshuai 回答:跨站点Ajax请求不起作用(parsererror)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2346976.html

大家都在问