我在页面中通过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操作不熟悉,哪位哥哥有时间帮我看看jQueryAjaxJSONJavaScriptasp.net
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操作不熟悉,哪位哥哥有时间帮我看看jQueryAjaxJSONJavaScriptasp.net
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 < data.length; i++) {
optionstring += "<option value=\"" + dataObj[i].usercode + "\" >" + dataObj[i].username + "</option>";
} $("#selectObj").html(optionstring); },
error: function (msg) {
alert("出错了!");
}
});
$.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 < data.length; i++) {
optionstring += "<option value=\"" + dataObj[i].usercode + "\" >" + dataObj[i].username + "</option>";
} $("#selectObj").html(optionstring); },
error: function (msg) {
alert("出错了!");
}
});
parseJSON : function(data) {
if (typeof data !== "string" || !data) {
return null;
}如果返回的确定是JSON格式的,把红色部分去了,不然parseJSON返回null。
1,在aspx直接返回json数据测试下
2,返回的是dataType: "json",应该不用parseJSON
[System.Web.Services.WebMethod]
public static string GetObjListByDeptId(String id)
{
return "返回json字符串";
}