2010-03-10 8 views
1

저는이 AJAX 코드를 가지고 있지만 '경고'방법을 사용하지 않는 것 같습니다. 대신, 아무 일도 일어나지 않습니다. 내가 피들러와 그것을보고이 오류 메시지가 있어요 : {"Message":"There was an error processing the request.","StackTrace":"","ExceptionType":""}간단한 AJAX가 작동하지 않습니다.

내가 코드 숨김 MyWebMethod 전화에서 웹 메소드를 호출하려고 해요 : 내가했을 때

$.ajax({ type: "POST", 
      url: "Test.aspx/MyWebMethod", 
      data: "{" + username + "}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 

      success: function() { 
       alert("success"); 
      }, 

      fail: function() { 
       alert("Fail"); 
      } 
}); 

웹 방법을 잘 일을 페이지의 스크립트 관리자이지만 스크립트 관리자를 제거하고 AJAX를 사용하는 것이 가장 좋은 방법이라고 생각했습니다.

감사

+0

처음에는 NO DATA로 시도해보십시오. 서버 타임 스탬프와 같은 것을 반환하는 문자열을 호출하고 경고합니다. 웹 메서드 이름 "사용자 이름"이 일치하는지 확인하십시오. 편집 : 페이지의 편집 내용을 뒤 따르고 있습니다 ...이 시점에서 관련성이 없을 수도 있습니다 ... –

답변

1

당신이 failerror에 변경하면 내 생각, 당신은 두 번째 경고 상자를 얻을 수 있습니다.

[편집]를 사용해서 변경하면 내 생각

data: "{" + username + "}" 

data: "{ 'username': '" + username + "' }" 

이 서비스를 보지 않고 당신이 전화하는거야 알고 열심히하지만 당신은 첫 번째 경고를 얻을 수 있습니다 .

+0

안녕하세요, 오류로 변경되어 경고가 표시됩니다. . 하지만 왜 실패했는지 모르겠습니다. –

+0

아, 미안하지만 편집을 보지 못했습니다. 그게 문제를 해결했습니다! 그러나 웹 메서드는 bool을 반환합니다. 'success :'섹션 (또는 통화 중 다른 곳)에서이 값을 얻으려면 어떻게해야합니까? 감사합니다. –

+0

성공으로 반환 된 데이터를 얻으려면 success : function()을 success : function (data)으로 변경하십시오. 서비스 설정에 따라 부울 데이터 또는 부울 속성 인 데이터를 가져옵니다. – pdr

3

web.config에서 사용자 정의 오류를 사용할 수 있습니다. 따라서 반환 된 예외는 일반적으로 (대개 비어 있음) 매번 동일합니다. 이로 인해 디버그가 어려워집니다.

실제 예외를 보려면 일시적으로 사용자 지정 오류를 해제하십시오. Here is how to do that for web services only, 세분화가 필요한 경우

관련 문제