jquery ajax数据显示[object Object]

taw*_*eed 21 ajax jquery

我有一个非常基本的ajax调用来警告从服务器报告的数据

$.ajax({
       type: "POST",
       url: "/someform/act", //edit utl to url
       data: { changed: JSON.stringify(plainData) }, //edit to include
       success: function(data) {
          alert(data);             //data not $data
       },
       error: function() {
          //error condition code
       }
});
Run Code Online (Sandbox Code Playgroud)

根据jquery网站上关于成功回调数据字段的文档,它说返回的数据是来自服务器的数据.但是,当我发出警报时$data,由于一些奇怪的原因,我得到[object Object]

我期待看到类似的东西,因为这是服务器发回的东西

<status>0</status>
Run Code Online (Sandbox Code Playgroud)

编辑:

数据也作为POST传递

Mig*_*ork 40

你需要使用JSON.stringify(data)alert来获得任何可读性.

此外,$data是一个完全不同的变量名称data.


moo*_*e99 22

alert()打印参数的字符串表示 - 因此,如果您传递一个对象,您将获得[object Object].

要检查数据,请使用console.log(data)更好.


L10*_*105 6

如果服务器发送JSON,则需要进行dataType: 'json'ajax调用.请注意您的ajax调用中存在一些错误.

        $.ajax({
               type: "POST",
               url: "/someform/act", // NOT 'UTL',
               data: {
                  key: value,
                  key2: value2
               },
               // or data: plaindata, // If 'plaindata' is an object.
               dataType: 'json',
               success: function(data) {
                  console.log(data); // As moonwave99 said
               },
               error: function() {
                  //error condition code
               }
        });
Run Code Online (Sandbox Code Playgroud)

编辑

发送数据时,您应该发送一个对象.jQuery将处理数组以将其发送到服务器.因此,如果普通数据是一个对象,它应该是这样的

               data: plainData,
Run Code Online (Sandbox Code Playgroud)