好的,当谈到jQuery和json时,我有点新鲜。如果我使用json作为我的返回类型,我还可以从XMLHttpRequest对象中检索responseText吗?
这是我正在使用的代码:
json response: {"clients": []}
$.ajax({
type: "POST",
url: "/myurl/whatever.php",
data: myData,
dataType: "json",
success: function(msg){
status.html(msg[0]);
},
error: function(msg) {
status.html("Error: " + msg[0]);
}
});
如果我想输出json响应或者我错过了什么,是使用msg [0]正确吗?
我如何仍然使用上面的代码与XMLHttpRequest来获取状态,responseText等。
谢谢,全部!
答案 0 :(得分:6)
据我所知,对$ .ajax的调用返回一个XHR对象,从中可以提取responseText,例如:
var xhr = $.ajax( {
url:' someInfo.php',
data: 'which=squirrels',
asynch: true
} );
var resp = xhr.responseText;
响应文本将包含一个json字符串,需要将其转换为任何用途的对象。
如果要直接在success
:函数中将响应用作json对象,请按@cloudhead建议,并使用 msg 。您的options中的dataType:“json”负责为您进行转换。
答案 1 :(得分:1)
如果您正在使用json,那么您将获得一个json对象,而不是XML对象。您可以直接输出,而无需使用[0]。