2011-12-22 13 views
0

私はその後、私は私のテキストボックスのためのオートコンプリート機能を作成するためにjqueryの-UI-1.8.16を使用して、ユーザーコントロールjQueryのUIのオートコンプリートとWebサービス

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

内部に配置されたクラスclsArtistListのASPのテキストボックスを持っています。私は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 
     }); 

をどのように動作するか分からないと、これは私のArtistCollectionは、アーティストのリストである、あなたの興味のために

[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())); 
} 

私のWebサービスです。アーティストクラスは次のようになります:

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; }   
} 

しかし、コードは機能しません。私が入力するたびに、私はメッセージアラートを受け取る内部サーバーエラー

ありがとうございます。私はあなたを助ける必要があります

+0

ウェブサービスが実行されてからを削除してください?あなたはブラウザをWebサービスに向けて試してみました。 –

+0

私はそれを試みました、結果はOKです。しかし、XML形式です。ドキュメンテーションによると、結果はJSONでなければならないと言われています。あなたはJSONを返す方法を知っていますか? –

+0

@HoàngLâmHuỳnh:XMLを使用できますが、クライアント上で結果を解析する必要があります。 XMLはどのように見えますか? –

答えて

0

受信者がサーバーのエラーメッセージを受け取った場合、私は問題がjavascriptではなく、サーバーのどこかにあると思います。

ASP Webサービスコードをデバッグしようとしましたか?

+0

私はサービスコードをデバッグしました。シンプルでOKです。私はブラウザでWSをテストしてもOKです。しかし、応答形式はXMLです。それは受け入れられますか? –

+0

正確にどのようなエラーメッセージが表示されましたか?そして、どこ? – Remy

0

私は問題があなたにURLを設定している値かもしれないと思う。

".." コール

$.ajax({ 
     url: "/ArtistWS.asmx/GetAllArtists", 
関連する問題