首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jquery 回来json

2013-03-12 
jquery返回json调用 服务器webservice返回的值是这样子: ?xml version1.0 encodingutf-8 ?string

jquery 返回json
调用 服务器webservice返回的值是这样子:

 <?xml version="1.0" encoding="utf-8" ?> 
  <string xmlns="mytest/">{ "dd":[ { "f_id":"1","f_name":"王一"}, 
       { "f_id":"2","f_name":"王二"},
       { "f_id":"3","f_name":"王三·"}
      ]}</string> 

json数据外面被自动加了一层xml,貌似不能去掉
//接收js
<script>
$(function(){
$('button').click(function(){
$.ajax({  
                url: "http://localhost/anserver/appws.asmx/GetUserList", 
                type: "POST",   
                data: {a:1,b:1}, 
                contentType: "application/json; charset=utf-8", 
                dataType: 'json',
                success: function(result) {  
                    alert(result); 
                },  
                error: function(e) {  
                    alert("错误"+e.responseText);   
                }  
            }); 
             
 });
});
</script>
我想的是直接得到json数据,目前提示  、、system.invalidoperationException:请求的格式无效:application/json; charset=utf-8


[解决办法]
既然服务器返回的是xml,那么只能用xml来解析
dataType: 'xml'

然后从xml内部取得json字符串:
success: function(result) {  
    var json = $(result).find('string').text(); 
    result = $.parseJSON(json);
}

要么另一种方案就是修改服务器的输出
[解决办法]
contentType: "application/json; charset=utf-8", 

需要framework是3.5+的,你的framework版本对了没

热点排行
Bad Request.