2011-12-22 3 views
0

나는 클래스 clsArtistList의 ASP 텍스트 상자가 JQuery와 UI 자동 완성 및 웹 서비스

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

가 그럼 난 내 텍스트 상자의 자동 완성 기능을 만들 JQuery와-UI-1.8.16을 사용 UserControl이 내부에 위치합니다. 내가 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; }   
} 

코드는 작동하지 않습니다. 매번 입력 할 때마다 메시지 알림이 수신됩니다. 내부 서버 오류

감사합니다. 도움이 필요합니다.

+0

웹 서비스가 실행에서 제거하려고? 브라우저에서 웹 서비스를 가리켜보고 다시 얻은 것을 확인해 봤습니까? –

+0

나는 그것을 시도, 결과는 괜찮습니다. 하지만 XML 형식입니다. 설명서에는 결과가 JSON에 있어야한다고 나와 있습니다. JSON을 반환하는 방법을 알고 계십니까? –

+0

@ HoàngLâmHuỳnh : XML을 사용할 수 있지만 클라이언트에서 결과를 구문 분석해야합니다. XML은 어떤 모습입니까? –

답변

0

수신자가 서버 오류 메시지를받는 경우 문제는 자바 스크립트가 아니라 서버의 어딘가에 있다고 가정합니다.

ASP 웹 서비스 코드를 디버깅하려고 했습니까?

+0

서비스 코드를 디버깅했습니다. 간단하고 괜찮습니다. 또한 브라우저에서 WS를 테스트하면 정상입니다. 그러나 응답 형식은 XML입니다. 받아 들일 수 있습니까? –

+0

정확히 어떤 오류 메시지가 나타 났습니까? 그리고 어디? – Remy

0

문제는 URL을 설정하는 값일 수 있습니다.

은 "..."전화

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