0
我正在进行跨域AJAX调用,并且我不确定如果我做错了什么或API调用的提供者不正确地返回JSON。每当我从API调用得到响应时,它都是一个字符串而不是一个JSON对象。这是我的AJAX调用。跨域AJAX调用返回字符串JSON而不是JSON对象
$.ajax({
async: false,
dataType: 'jsonp',
url: 'http://cross-domain/getSummaryStat.action',
data: { minDailyDate: start_param, maxDailyDate: end_param },
success: function(response) {
map = {
gamefuse: response["ROM-GF-Live"],
facebook: response["ROM-FB-Live"],
kongregate: response["ROM-Kongregate-Live"],
yahoo: response["ROM-Yahoo-Live"]
}
},
error: function(xhr, textStatus, errorThrown){
alert('request failed');
}
});
当响应回来,这里是response.result
"[{"dayRetention1":"0.01453800063053","visit":"601","installs":"203"},{"dayRetention1":"0.122484891199019","visit":"33863","installs":"10949"]"
注意:我设置数据类型来jsonp
,因为它是一个跨域AJAX调用,并且我得到了一个错误,没有它。
是什么让你认为提供程序支持摆在首位JSONP响应? – Quentin
当我设置'dataType:json'时,'error'回调被设置。当我将它设置为'jsonp'时,我实际上得到了一个结果 – user2158382
'dataType:'jsonp''不会*神奇地*使跨域请求工作。服务器需要支持它;它需要返回'callback({json:['data']})'。 –