使用jQuery和JSON与AJAX responseText?

时间:2009-06-11 23:33:48

标签: json jquery xmlhttprequest

好的,当谈到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等。

谢谢,全部!

2 个答案:

答案 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]。