$('#jsonpbtn').click(function() {
$('#text').html('AJAX Call executing......');
$.ajax({
url : 'http://zip.elevenbasetwo.com/v2/US/10010',
type : 'GET',
success : function(data) {
console.log(data.city);
$('#jsonparea').html(data.city);
$('#text').html('Ajax Call ended');
},
error : function(xhr, status) {
alert(status);
},
});
});
json回复是{city:“New York City”,州:“纽约”,国家:“US”}
使用谷歌浏览器一切功能都很好,实际上是$('#jsonparea')。html(data.city)在div区域写纽约市。用firefox我有一些问题,实际上div区域没有写,调用alert(data.city)我有未定义的值。
答案 0 :(得分:1)
为ajax选项提供dataType,以确保jQuery正确检测dataType。
$('#jsonpbtn').click(function() {
$('#text').html('AJAX Call executing......');
$.ajax({
url : 'http://zip.elevenbasetwo.com/v2/US/10010',
type : 'GET',
dataType: "json", // <---- HERE
success : function(data) {
console.log(data.city);
$('#jsonparea').html(data.city);
$('#text').html('Ajax Call ended');
},
error : function(xhr, status) {
alert(status);
},
});
});
现在,如果您的json与上面发布的完全相同,您将得到一个parseError,因为它不是有效的JSON,但我怀疑它实际上是有效的,因为它在chrome中有效。