基本上我想使用jQuery从XML和JSON提要中返回数据,并且只有在两者都成功时才使用console.log
数据。
如果我在getRoomFeed()
n中注释$.whe
,它将返回XML的正确responseText
对象,但是如果我将它们都留在那里,则返回文档对象时我console.log(rateData)
。为什么我不能从JSON和XML中提取数据并从两者中获取responseText
?当我在$.when
中使用这两个Feed时,为什么会得到不同的结果?
请参阅随附的codepen并检查下面的控制台或代码,
function getRoomFeed() {
return $.ajax({
type: "GET",
url: "JSONURLHERE.json",
dataType: "JSON"
});
};
function getRates() {
return $.ajax({
type: "GET",
url: "XMLURLHERE.xml",
dataType: "XML"
});
};
$('#prop__selector').on('change', function() {
getPropCode = $(this).val();
$.when(getRoomFeed(), getRates()).then(function(roomData, rateData) {
console.log(roomData);
console.log(rateData);
});
});
http://codepen.io/benweiser/pen/gPNVmd/
我附上了图片,但不幸的是我不得不将其删除,因为我没有足够的声誉。
答案 0 :(得分:0)
它运行得很好,但是你在每个响应中得到$.ajax
的三个参数,所以你需要做
console.log(roomData[0]);
console.log(rateData[0]);
当jQuery在添加dataType时解析内容时,JSON已经被解析为一个对象,而XML被解析为document
,这可能就是你所看到的文档。