当前位置: 代码迷 >> Ajax >> ajax 返回值读取有关问题
  详细解决方案

ajax 返回值读取有关问题

热度:552   发布时间:2014-02-23 23:10:28.0
ajax 返回值读取问题
$.ajax({
                                type: "post",
                                contentType: "application/json",
                                url: /DCSRequestName.asmx/GetName",
                                data: "{str:'" + $("#txtName").val() + "'}",
                                dataType: "json",
                                success: function (result) {
                                    $("#lstAgent").empty();
                                    if (result.d != null){                                        $.each(result.d, function (index, data) {
                                            $("#lstAgent").append("<option value='" + index + "'>" + data + "</option>");
                                            if ($("#txtName").val() == data)
                                                $("#lstAgent").val(index);
                                        });
                                        $("#lstAgent").attr("size", $("#lstAgent option").length + 1);
                                        $("#lstAgent").show();
                                    }
                                    else
                                        $("#lstAgent").hide();
                                }
                            });

服务端的webservice返回的是Dictionary<int,string> 有数据的时候返回{“d”,{....等等,}}能正常读取。当DIC……为空是返回的是{"d",{}},怎么判断result.d是否有值?if (result.d != null)不行,
你看下你接收到的数据的格式(查看http请求可以看到)
如果是string 类型,需要result=eval('(+result+)'); 转成Json格式

如果得到的是Json格式,使用
if(result.d)
{

}

就应该没有问题了
if(result.d.length>0)
{
 ....
}else{

.....
}
  相关解决方案