2015-11-21 52 views
2

我有一個Web服務,它使用JQuery Ajax調用了數據庫後添加了一個項目。 Web服務返回一個字符串,我不能設法只拾取返回的字符串部分。相反,我收到{"d":"The message I want to display"}使用alert(data);從Ajax獲取返回的字符串的值JQuery

我也tried alert(Object.keys(JSON.parse(data))[0]);返回dalert(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

是的,它返回'未定義'使用alert(data.d);' – Bubblesphere

+1

更新了答案,請再試一次;) –

+0

謝謝,解決了它。我很感激 – Bubblesphere

0

您必須訪問屬性d的數據(響應)如此替換成功回調

success: function (data, textStatus) { 
    alert(data.d); 
},