JSONP Ajax Syntax



我试图用JSONP端点提供的国家代码提醒我的网页的访问者。然而,我似乎不能得到这个工作!网上所有的答案似乎都令人困惑!

从端点返回以下内容:

{
    "pcCartCt": 0,
    "pcCountryCode": "au",
    "pcCountrySite": "WWW",
    "pcExpDomCt": 0,
    "pcFirstName": "",
    "pcIsCdc": false,
    "pcIsDiscount": false,
    "pcIsGdEmployee": false,
    "pcIsTrusted": false,
    "pcLanguageCookie": "en-us",
    "pcModalData": "",
    "pcRepEmail": "",
    "pcRepExt": "",
    "pcRepName": "",
    "pcSelectedCurrFullDesc": "United States Dollar $ (Transactional)",
    "pcSelectedCurrType": "USD",
    "pcSetLanguageLogo": true,
    "pcShopperId": ""
}

要使其工作,我首先需要指定"myprogid"的prog_id和一个回调函数。在回调中,我需要一个包含pcCountryCode的警报消息。

我该怎么做?

端点应该返回:

myprogid({
    "pcCartCt": 0,
    "pcCountryCode": "au",
    "pcCountrySite": "WWW",
    "pcExpDomCt": 0,
    "pcFirstName": "",
    "pcIsCdc": false,
    "pcIsDiscount": false,
    "pcIsGdEmployee": false,
    "pcIsTrusted": false,
    "pcLanguageCookie": "en-us",
    "pcModalData": "",
    "pcRepEmail": "",
    "pcRepExt": "",
    "pcRepName": "",
    "pcSelectedCurrFullDesc": "United States Dollar $ (Transactional)",
    "pcSelectedCurrType": "USD",
    "pcSetLanguageLogo": true,
    "pcShopperId": ""
});

我不明白你关于解析多个参数的问题。JSONP只需要一个特殊的参数:callback=myprogid。此参数应用作响应开头的函数名。

如果您正在使用JS从服务器提取JSON,这可能会有所帮助。它使用jQuery的承诺接口从getData返回一个AJAX承诺,当下载完成时,回调将信息记录到控制台(或警报)。

function getData() {
  return $.ajax({
    url: // url,
    type: 'GET',
    dataType: 'jsonp'
    data: { prog_id: 'myprogid' }
  });
}
$.when(getData()).then(function (data) {
  console.log(data.pcCountryCode);
});

最新更新