Hello Fellow Developers,
我有一个SSN文本框,onblur调用一个函数,该函数向Web方法发出ajax请求,以决定是否雇用了一名员工。
Web方法将TermedEmployee对象返回给成功回调,但我不确定如何解析对象。
$('#<%=FormView1.FindControl("SSNField").ClientID%>').blur(hideValue);
hideValue = function (ev) {
var $this = $(this);
$this.data('value', $this.val());
$('#<%=FormView1.FindControl("hiddenSSN").ClientID%>').val($this.val());
var data2Send = '{"SSN": ' + $this.val() + ' }';
$.ajax({
type: "POST",
url: "AuthforHire.aspx/EmployeeisRehire",
data: data2Send,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
var obj = JSON.stringify(result.d);
if (obj.IsTermed) {
$('#%=RadWindowRehire.ContentContainer.FindControl("TextBoxTermID").ClientID%>').val(arg.d);
var wndWidth = 900;
var wndHeight = 500;
var wnd = window.radopen(null, "RadWindowRehire");
}
},
error: function (xhr) {
alert('Form update failed. '); //error occurred
}
});
以下是我的webMethod缩小版,可以正常使用
[System.Web.Services.WebMethod]
public static TermedEmployee EmployeeisRehire(string SSN)
{
TermedEmployee termedEmp = new TermedEmployee();
// Db call to get necessary data.
termedEmp.Name = dr["name"];
termedEmp.TermDate = Convert.ToDateTime(dr["TermDate"].ToString());
......
}
那么如何从返回给回调函数的对象中提取Name,TermDate,StartDate,ReasonforTerm等?
提前谢谢!
答案 0 :(得分:2)
成功回调的第一行是:
var obj = JSON.stringify(result.d);
正在尝试序列化ASP.Net已经为您序列化的内容。 将其更改为:
var obj = result.d;
然后,您就可以按名称访问obj.Name
,obj.TermDate
和所有其他属性。