2015-11-21 5 views
2

У меня есть веб-сервис, который добавляет элемент в базу данных после вызова с помощью JQuery Ajax. Веб-служба возвращает строку, и я не могу подобрать только возвращаемую часть строки. Вместо этого я получаю {"d":"The message I want to display"} с использованием alert(data);.Получение значения возвращаемой строки из Ajax JQuery

Я также tried alert(Object.keys(JSON.parse(data))[0]);, который возвращает d и alert(Object.keys(JSON.parse(data))[1]); или alert(data.d); возвращает Undefined .Здесь, что мой код выглядит

function AddAjaxJQuery() { 
      var isbn = $('#<%= txtIsbn.ClientID %>').val(); 

      var pdata = { "book": { "Isbn": isbn} }; 

      $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "/BookWebService.asmx/InsertBook", 
       data: JSON.stringify(pdata), 
       dataType: 'text', 
       async: true, 
       success: function (data, textStatus) { 
        alert(data); 
       }, 
       error: function (error) { 
        alert(data); 
       } 
      }); 
     } 

ответ

3

Если ваши данные является строкой, то вы должны разобрать его JSON первым:

var dataInJson = JSON.parse(data); 
alert(dataInJson.d) 
+0

Да, он возвращает 'Undefined', используя' alert (data.d); ' – Bubblesphere

+1

обновил ответ, попробуйте еще раз;) –

+0

Спасибо, что решил. Я ценю это – Bubblesphere

0

Вы должны получить доступ к собственности d данных (ответ), поэтому Заменить успешный обратный вызов успеха с помощью

success: function (data, textStatus) { 
    alert(data.d); 
}, 
Смежные вопросы