如何使用AJAX

问题描述:

火在aspx.cs文件的方法,我想采用AjaxPersonalDetails.aspx.cs调用的方法。我尝试过使用下面的代码。但它不起作用。 我只想解雇PersonalDetails.aspx.cs中包含的方法我该怎么做? :) 有人可以帮助我。如何使用AJAX

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"> 
</script> 


<script type="text/javascript"> 
    $(document).ready(function() { 
     $("input").keydown(function() { 
      $("input").css("background-color", "yellow"); 
     }); 
     $("input").keyup(function() { 
      $("input").css("background-color", "pink"); 

      $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "PersonalDetails.aspx/GetFarmersByName", 
       data: { name: +request.term }, 
       dataType: "json", 
       async: true, 
       dataFilter: function (data) { return data; }, 
       success: function (data) { 
        return data; 
       }, 
       error: function (XMLHttpRequest, textStatus, errorThrown) { 
        alert(textStatus); 
        alert(errorThrown); 
       } 
      }); 
     }); 
    }); 
</script> 

这是我想火的方法..

[WebMethod] 
    [ScriptMethod] 
    public bool GetFarmersByName(string name) 
    { 
     _personalData = new personalData(); 
     int cky = 45; 
     CdMa cdMas = new CdMa(); 
     cdMas = _personalData.getcdMasByConcdCd2(cky, "AdrPreFix", true); 
     int prefixKy = cdMas.CdKy; 

     List<FMISPersonalDataViewByName_Result> list = new List<FMISPersonalDataViewByName_Result>(); 

     list = _personalData.GetPersonalDataByName(prefixKy, cky, name); 

     if (list != null) 
     { 
      grvPersonalData.DataSource = list; 
      grvPersonalData.DataBind(); 
      return true; 
     } 
     return false; 

    } 
+0

你失踪 1)static关键字 2)jquery数据属性格式不正确 data:“{'name':'”+ request.term +“'}” –

+0

当我把静态它显示了一个名为“非静态字段方法或属性所需的对象引用”的错误,并突出显示了“grvPersonalData”。 – tishantha

+0

在进行AJAX调用时,您将无法绑定来自代码隐藏的数据网格。另外,静态方法中不能使用非静态字段。你能发布完整的aspx源代码吗? –

,请让你的方法GetFarmersByName公共静态布尔GetFarmersByName并尝试调试代码

,并更改以下

data: "{name: " + request.term + "}"

[WebMethod] 
[ScriptMethod] 
public bool GetFarmersByName(string name) 

这种方法必须是,如果你想通过AJAX调用它..

[WebMethod] 
[ScriptMethod] 
public static bool GetFarmersByName(string name) 
+0

当我把静态它显示一个错误称为“非静态字段方法或属性所需的对象引用”,突出显示“grvPersonalData”。 – tishantha

李治廷库雷希回答应该是公认的其中一个返回一些数据公共静态方法。

如果你运行你正在运行的东西,你可能会得到“{”Message“:”无效的JSON原语:...“?看起来你的数据对象格式不正确,应该是数据: “{...}” 或数据:JSON.stringify({...})

其中的方式是不正确也是 - 这已经指出