Данные jquery ajax показывают [объект Object]

У меня есть очень простой аякс-вызов, чтобы предупредить данные, которые были отправлены с сервера

$.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
       }
});

В соответствии с docs на веб-сайте jquery относительно поля данных в обратном вызове успеха говорится, что данные возвращены данными с сервера. Однако по какой-то странной причине, когда я предупреждаю $data, я получаю [object Object]

Я ожидал увидеть что-то вроде этого, так как сервер отправляет обратно

<status>0</status>

EDIT:

данные также передаются как POST

Ответы

Ответ 1

alert() печатает строковое представление аргументов - следовательно, если вы передадите объект, вы получите [object Object].

Чтобы проверить данные, лучше используйте console.log(data).

Ответ 2

Вам нужно использовать JSON.stringify(data) в alert, чтобы получить что-нибудь читаемое.

Кроме того, $data - это совершенно другое имя переменной, чем data.

Ответ 3

Если сервер отправляет JSON, вам нужно поставить dataType: 'json' на ваш вызов 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
               }
        });

ИЗМЕНИТЬ

При отправке данных вы должны отправить объект. jQuery будет обрабатывать массив, чтобы перехватить его на сервере. Поэтому, если простые данные являются объектами, это должно быть как

               data: plainData,