我试图用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);
});