簡體   English   中英

jQuery UI自動完成和Web服務

[英]Jquery UI autocomplete and webservice

我在用戶控件中放置了類clsArtistList的ASP文本框

<asp:TextBox CssClass="clsArtistList" ID="txtArtistList" runat="server"></asp:TextBox>

然后,我使用jquery-ui-1.8.16為我的文本框創建自動完成功能。 我從http://www.dotnetcurry.com/ShowArticle.aspx?ID=515復制了它,但我真的不知道它是如何工作的

$(".clsArtistList").autocomplete({
            source: function(request, response) {
                $.ajax({
                    url: "../ArtistWS.asmx/GetAllArtists",
                    data: "{ 'ARTIST_NAME': '" + request.term + "' }",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataFilter: function(data) { return data; },
                    success: function(data) {
                        response($.map(data.d, function(item) {
                            return {
                                value: item.ARTIST_NAME
                            }
                        }))
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        alert(errorThrown);
                    }
                });
            },
            minLength: 1
        });

這是我的網絡服務

[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public List<Artist> GetAllArtists(string ARTIST_NAME) {
    ArtistCollection coll = ArtistManager.GetAllArtists();
    return coll.FindAll(a => a.ARTIST_NAME.ToLower().StartsWith(ARTIST_NAME.ToLower()));
}

為了您的興趣,我的ArtistCollection是一個藝術家列表。 藝術家類如下所示:

public class Artist {
    public string ARTIST_ID { get; set; }
    public string ARTIST_NAME { get; set; }
    public string ARTIST_NATIONALITY { get; set; }
    public string ARTIST_INFO { get; set; }        
}

但是代碼不起作用。 每次鍵入時,我都會收到一條消息警報,“內部服務器錯誤”

先感謝您。 我需要你的幫助

如果您收到服務器錯誤消息,我認為問題不在於javascript,而是服務器上的某個地方。

您是否嘗試調試ASP Web服務代碼?

我認為問題可能是您將網址設置為的值。

嘗試從通話中刪除“ ..”

$.ajax({ 
         url: "/ArtistWS.asmx/GetAllArtists", 

暫無
暫無

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

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