如何理解jQuery中返回的对象

时间:2011-10-06 00:40:01

标签: javascript jquery ajax

我有这个jQuery代码:

        $.ajax({
                type: "POST",
                url: "/problems/vote.php",
                dataType: "json",
                data: dataString,
                success: function(data)
                {           
                    // ? :)
                    alert (dataString);


                },
                error : function(data) 
                {
                    alert("ajax error, json: " + data);

                    //for (var i = 0, l = json.length; i < l; ++i) 
                    //{
                    //  alert (json[i]);
                    //}
                }
            });

当我使用它时,我会发出一些神秘的警告:object XMLHTTPReqest

如何实际获取从AJAX传入的值?

谢谢!

5 个答案:

答案 0 :(得分:1)

您是否尝试使用名为FireBug的Firefox插件?这是我开始的第一个地方,因为它会向您显示返回的json对象的确切结构和数据。

从那里开始,在对象名称等中进行编码很简单。

答案 1 :(得分:1)

有几种方式:

console.log(data); // allows you to view your object in a tree in the console

alert(JSON.stringify(data)); // alerts a serialized string of the object

或在chrome / safari和firefox(firebug)中设置一个断点并检查它。

答案 2 :(得分:1)

Firefox - 下载Firebug。任何网络开发都必须。

Chome:而不是提醒,请执行“console.log(data);”这应该吐出对象,你可以在控制台中查看它的属性(点击F12)。

或者,写“调试器”;在您的警报之前,浏览器将暂停执行。您需要运行Firebug或Chrome开发工具。

答案 3 :(得分:1)

首先,您提醒dataString,而不是从服务器返回任何内容,至少在success回调中。 .ajax()回调签名如下所示:success(data, textStatus, jqXHR),因此如果您获得真实数据,可以通过data参数像任何JSON对象一样访问它。在error它是error(jqXHR, textStatus, errorThrown),所以如果这就是你所说的,那就有道理了。

使用Firebug / Chrome /代理/等。确保您从服务器获得的内容是您所期望的,或者只是将其记录到控制台。

答案 4 :(得分:1)

我假设你在谈论错误处理程序。

jQuery AJAX错误处理程序的签名是

  

错误(jqXHR,textStatus,errorThrown)

     

请求失败时要调用的函数。该函数接收三个参数:jqXHR(在jQuery 1.4.x,XMLHttpRequest中)对象,描述发生的错误类型的字符串和可选的异常对象(如果发生)

由于没有数据,您无法获取“数据”,只是错误。