2012-02-02 76 views
1

我的Web服務調用返回到這個數據1jQuery的AJAX Web方法有效,但無法使用數據

"{"d":"PCIS Follow Add ID and Codes when printed"}" 

我learne是使用jQuery用asp.net時,我必須然而,當使用data1.d

我嘗試做alert(data.d);

我得到了一個未定義返回即使data.d值顯示爲

"{"d":"PCIS Follow Add ID and Codes when printed"}" 

如何,我可以利用這些信息

任何想法Web服務應該返回一個字符串

$.ajax({ 
       type: "POST", 
       url: "Services/WorkService.asmx/WorkDescription", 
       data: "{'workUnitId' : '" + $("option:selected", $(dropdown)).text() + "','id': '" + combobox.val() + "'}", 
       contentType: "application/json; charset=utf-8", 
       dataType:"json", 
       success: function(data1) { 
       var jsObject = JSON.parse(data1.d); 
      alert(jsObject);     
combobox.attr("_tooltip", data1.d);  
       }  
      }); 
     }, 
+0

會更好,如果你發佈我們使用jQuery – Devjosh 2012-02-02 16:36:25

+0

您的Web服務調用我添加了Web服務的例子 – 2012-02-02 16:39:33

+0

請通過使用HTTP的Web服務調用返回的JSON字符串:// WWW。 jsonlint.com或任何其他json驗證程序。你可以在mozilla firebug net panels找到json xhr tab – Devjosh 2012-02-02 16:42:35

回答

4

你應該設置jsondataType

dataType:"json", 

,因爲如果你指定text jQuery將無法解析響應(如果指定json的jQuery的響應呼籲$.parseJSON()

看我的答案在這個問題上Why is 'jQuery.parseJSON' not necessary?

編輯您的服務器應該返回

{"d":"PCIS Follow Add ID and Codes when printed"} 

withouth的起始和結尾"

+0

問題是我只是把它改爲文本它是JSON之前,並沒有工作 – 2012-02-02 16:46:48

+0

@bugz如果你只是調用alert(data1)'你會得到什麼? – 2012-02-02 16:48:53

+0

@bugz我編輯了我的答案,也許之前它沒有工作,因爲它是無效的json – 2012-02-02 16:50:45

0

試試這個:

<script> 
var jsObject = JSON.parse('{"hello":"world"}'); 
alert(jsObject.hello); 
</script> 
相關問題