[英]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.