在我的下面的代码中,它成功返回一个对象,当输出到控制台时,它以类似于:
{readyState: 4,
getResponseHeader: ƒ,
getAllResponseHeaders: ƒ,
setRequestHeader: ƒ,
overrideMimeType: ƒ,
…}
但是,当我使用开发人员控制台>网络选项卡时,我会看到真实的数据:
如何从该对象中获取数据?不知道我做错了什么。
这是代码:
get_netsuite: function (cart) {
//console.log(JSON.stringify(cart.result, null, 4));
url = netsuite_server + '/sbe-dev-elbrus/services/ProfileExtension.Service.ss?c=854511&n=2';
url = 'https://checkout.na3.netsuite.com/c.854511/sbe-dev-elbrus/services/ProfileExtension.Service.ss?callback=?';
var data = { 'c': '854511', 'n': 2 };
jQuery.ajax({url: url, async: false, type: 'GET', data: data, dataType: 'jsonp',
complete: function (resp) {
console.log('complete');
tempdata = resp;
console.log(resp);
if (resp.isLoggedIn) {
App.globals.logged_in = true;
jQuery('.signin-main #sign_in').hide();
jQuery('.signin-main #sign_out').css('display', 'inline-block');
// jQuery('.widget_nav_menu').find('.sign-out, .my-account').css('display', 'inline-block');
} else {
App.globals.logged_in = false;
jQuery('.signin-main #sign_out').hide();
jQuery('.signin-main #sign_in').css('display', 'inline-block');
}
App.globals.frequency_tbl = cart.header.frequency_tbl;
App.cart.display_cart(cart);
}
});
},
这是它所呼唤的网址:
您正尝试将该URL作为JSONP访问,但它不是JSONP端点。
qazxsw poi实际上返回一个简单的JSON字符串。
所以改变你Your URL到dataType
。此外,您应该使用'json'
回调而不是success
。
当然,使用complete
数据类型时,您必须处理CORS问题。
演示如下。
json
var url = 'https://checkout.na3.netsuite.com/c.854511/sbe-dev-elbrus/services/ProfileExtension.Service.ss?callback=TEST?';
url = 'https://cors-anywhere.herokuapp.com/'+url; // for testing purposes only
var data = {'c': '854511', 'n': 2};
jQuery.ajax({
url: url,
async: false,
type: 'GET',
data: data,
dataType: 'json',
success: function(resp) {
console.log(resp);
}
});