1
你好的開發夥伴們,返回從Web服務對象,以AJAX請求成功回調函數
我有一個SSN文本框是的onblur調用一個函數,它做一個Ajax請求的Web方法來決定是否僱員先前已僱用。
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());
......
}
我如何可以提取名稱,TermDate,起始日期,ReasonforTerm等來自對象返回給回調函數的縮小版本?
預先感謝您!
我試過,但我得到一個未定義的值obj.Termdate然後彈出一個錯誤說「無效的字符」。任何想法可能是什麼? – Eric
是的。我編輯了響應,不需要使用JSON.parse,因爲result.d已經包含了你的對象,而不是它的字符串表示。您可以在成功回調中插入斷點或調試器語句,並使用螢火蟲或Visual Studio檢查響應,如果這是您正在使用的。 – Dimitri
這似乎已經完成了@Dimitri的絕招!一旦將其轉換爲obj,看起來像我有完全訪問!我無法感謝你的時間和耐心!上帝保佑! – Eric