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

AJAX实现二级联动有关问题

2013-08-13 
AJAX实现二级联动问题本帖最后由 showbo 于 2013-08-10 13:46:24 编辑现在需要做一个下拉列表二级联动,但

AJAX实现二级联动问题
本帖最后由 showbo 于 2013-08-10 13:46:24 编辑 现在需要做一个下拉列表二级联动,但调用AJAX总是出错,希望大家帮忙看看。
脚本

$.ajax
                    (
                        {
                            type: "post",
                            url: urlAdd,
                            dataType: "jeson",  //传输的数据类型
                            contentType: "application/json",
                            data: '{"state":"' + val + '"}',
                            error: function (x, e) {
                                alert(x.responseText);
                                return false;
                            },
                            success: function (data) {
                                alert("OK");
                                var i;
                                var json = eval(data);


                                $("#" + item).find("option").remove();
                                $("#" + item).append("<option value='0' selected='selected'>----请选择----</option>");
                                if (json != null) {
                                    for (i = 0; i < json.length; i++) {
                                        $("#" + item).append($("<option></option>").val(json[i].c_code).html(json[i].c_name));
                                    };
                                    $("#<%=hfCenter.ClientID %>").val("0");
                                }
                            }
                        }
                    );


后台用的webservice
 public string GetYYDD(string state)
        {
  return MakeJSonString(dt, "userName", "userID");
        }


[解决办法]
dataType: "jeson",  //传输的数据类型
这是错误的!
1、dataType 表示的是回传的数据类型,如果 dataType: "json" 那么回传的数据会自动转换为对象
2、jq 没有 jeson 这个数据类型,所以走了 error

contentType: "application/json"
这个头声明将导致传输的数据在服务端不能用正常的方法接收
它使 CONTENT_TYPE 环境变量的值为 application/json 而默认是 application/x-www-form-urlencoded
你需要自行解释传入的数据流

data: '{"state":"' + val + '"}'
发送的数据相当于无格式字符串,服务端无法用正常手段解析
应写作
data: {"state": val }

热点排行