作者weiyeelee (老小弟)
看板Ajax
标题Re: [问题] json的回传问题
时间Wed Jun 17 22:53:35 2009
我也遇到类似的问题,要请版上的先进求教
以下为部份程式码
<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="
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)
1F:→ fillano:我想回传的是xml,只是资料内容是json字串,你要额外处理 06/18 11:31
2F:→ laudieh:建议用 $.post(... 'json'); 来串较好! 07/09 00:41