簡體   English   中英

將對象從Web服務返回到Ajax請求成功回調函數

[英]Returning an object from Web Service to Ajax Request success callback function

各位研究員好,

我有一個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等?

先感謝您!

成功回調的第一行是:

var obj = JSON.stringify(result.d);

哪個正在嘗試序列化ASP.Net將為您序列化的內容。 更改為:

var obj = result.d;

然后,您將可以按名稱訪問obj.Nameobj.TermDate和所有其他屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM