繁体   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