Rufen Sie einen web-Methode mit Hilfe von jQuery Ajax

Ich möchte erstellen Sie eine Autocomplete Feld für eine Suchfunktion. Ich habe versucht mit folgenden code.

Aber die web-Methode nicht Feuer, wenn die Autocomplete Funktion ist die Ausführung.
Was wird der Grund sein ?

Hier ist die jQuery-Funktion:

<script type="text/javascript">
    $(function () { $("#<%=tags.ClientID %>").autocomplete({
         source:function (request, response) {
         $.ajax ({
             type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "~/Services/AutoComplete.asmx/GetFarmersByName",
            data: "{ 'name' : '" + $("#<%=tags.ClientID %>").val() + "'}",
            dataType: "json",
            async: true,
            dataFilter: function (data) { return data; },
            success: function (data) {
                      response($(data.d, function (item) {
                                return            {
                                    value: item.AdrNm
                                }
                       }));
                     },
           error: function (XMLHttpRequest, textStatus, errorThrown) {
                            alert(textStatus);
                        }
                    });
                }

            });
        });
 </script>

Hier ist die web-Methode

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public List<FMISPersonalDataViewByName_Result> GetFarmersByName(string name)
    {
        this._personalData = new personalData();
        int cky = 45;
        CdMa cdMas = new CdMa();
        cdMas = this._personalData.getcdMasByConcdCd2(cky, "AdrPreFix", true);
        int prefixKy = cdMas.CdKy;

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

        list = this._personalData.GetPersonalDataByName(prefixKy, cky, name);
        return list;
    }
  • Versuchen Sie, einschließlich der Verwendung dieses Attribut [WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
  • Der debugger erreichen AutoComplete.asmx ??
  • Über Ihre service-Klasse hinzufügen [System.Web.Script.Services.ScriptService]
  • Ich denke, dass web-Methoden müssen Statisch sein?
InformationsquelleAutor tishantha | 2013-07-04
Schreibe einen Kommentar