客户端是这样写的:
$.ajax({
type: "get",
contextType: "application/json",
url: "../WebService/Demo_forAnything.asmx/GetDeptInfoByID",
data: { guid: $(this).attr("value") },
success: function (responseText) {
$(responseText.d).each(function () {
alert($(this).toString());
});
alert(response);
},
dataType: 'json',
async: false
});
服务端:
[WebMethod]
public string GetDeptInfoByID(string guid)
{
var list = context.LS_Department.Where(i => i.id == guid).ToList();
return ParseToJSON(list);
}
public string ParseToJSON(object obj)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}
为什么responsetext娶不到值啊,alert不出来,是success没有执行到吗? 但是在webservice中有返回值啊。
如果你这个alert(response); 没有弹出来,那么就是success没有执行 。如果你确定后台有放回值且执行了方法的 那么你就应该调试一下的JS代码了 ,看看问题出在哪里,
你的这句代码:
$(responseText.d).each(function () {
alert($(this).toString());
});
尤其是:responseText.d 这句你要确认你的返回的json字符串中是否有d的参数哦【responseText.id】