Re: [問題] json的回傳問題

看板Ajax作者 (老小弟)時間15年前 (2009/06/17 22:53), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/2 (看更多)
我也遇到類似的問題,要請版上的先進求教 以下為部份程式碼 <script src="json2.js" type="text/javascript"></script> … $.ajax({ url: 'Test.asmx/GetChoiceList', type: 'POST', //dataType : 'json', contentType: 'application/json; charset=utf-8', success:function(receiveData){ alert(receiveData); var json_result=JSON.parse(receiveData); … }, error:function(myErr){ alert("Ajax request 發生錯誤"); } 在呼叫WebService時回傳組好的JSON字串後 會先跳出alert顯示"「Object」"的訊息 然後browser右下角出現錯誤訊息,顯示「物件不支援此方法或屬性」 錯誤行號即是以下敘述 var json_result=JSON.parse(receiveData); 若將//dataType : 'json'的註解拿掉 則直接跳到error event,alert "Ajax request 發生錯誤" 若將dataType改成text回傳,則可得到訊息如下 <?xml version="1.0" encoding="utf-8"?><string xmlns="{"myData"" rel="nofollow">http://tempuri.org/">{"myData" : [ {"Id_No" : "12345", "Na": "Fanny "}, {"Id_No" : "54321", "Na": "Joseph"}]}</string> 問題是我另外放了一個按鈕在同一網頁,直接執行以下程式 var json_text = '{ "players" : [{ "firstName" : "Ryan", "lastName" : "Campbell"]}'; function btn_Click_test_json() { var start_time = new Date().getTime(); var json_result = JSON.parse(json_text); alert(json_result.players.length); … } 結果有回傳1的值 究竟我的程式是哪裡出問題了,還請各位先進不吝賜教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.153.117 ※ 編輯: weiyeelee 來自: 61.231.153.117 (06/17 22:59)

06/18 11:31, , 1F
我想回傳的是xml,只是資料內容是json字串,你要額外處理
06/18 11:31, 1F

07/09 00:41, , 2F
建議用 $.post(... 'json'); 來串較好!
07/09 00:41, 2F
文章代碼(AID): #1AEGDmvT (Ajax)
文章代碼(AID): #1AEGDmvT (Ajax)