jquery的ajax调用后台服务方法实现下拉框联动时,json解析问题?
我在页面中通过ajax调用后台方法服务,实现联动!ajax方法如下:
$.ajax({
type: "post",
async: false,
contentType: "application/json; charset=utf-8",
data: "{id:'" + id + "'}",
url: "AllAssessResults.aspx/GetObjListByDeptId", //后台webservice里的方法名称
dataType: "json",
success: function (data) {
alert(data);
var optionstring = "";
var dataObj = $.parseJSON(data);
//var dataObj = eval("(" + data + ")");
for (var i = 0; i < dataObj.length; i++) {
optionstring += "<option value=\"" + dataObj[i].usercode + "\" >" + dataObj[i].username + "</option>";
}
$("#selectObj").html(optionstring);
},
error: function (msg) {
alert("出错了!");
}
});
后台得到的json数据如下:
[
{ "username":"魏", "usercode":"A1"},
{ "username":"邢", "usercode":"A2"},
{ "username":"杨", "usercode":"A3"},
{ "username":"王", "usercode":"A4"},
{ "username":"叶", "usercode":"A5"},
{ "username":"宋", "usercode":"A6"},
{ "username":"苏", "usercode":"A7"}
]
解析时候总是提示我:'length' 为空或不是对象 应该是这个【dataObj.length】。因为对json操作不熟悉,哪位哥哥有时间帮我看看 jQuery Ajax JSON JavaScript asp.net
[解决办法]
data即是JSON格式,无需使用$.parseJSON(data)
[解决办法]
本帖最后由 net_lover 于 2013-04-17 16:14:10 编辑 你需要这样
var dataObj = $.parseJSON(data);
改成
var dataObj = $.parseJSON(data.d);
试试