2014-12-11 3 views
0

나는 웹 사이트 프로젝트 (ASP.NET 3.5)가 있습니다.ASP.NET 3.5 AJAX - 500 오류 [WebMethod] 호출

검색 방법 중 하나는 Search.aspx.cs에 있습니다. 이것은 내가 Ajax 호출로 일부 데이터를 반환 할 수 있도록 전화하려고하는 방법입니다 :

<form runat="server" id="mainForm" class="form-horizontal"> 
<input id="addButton" type="button" value="Add" /> 
</form> 

<script> 
$('#addButton').click(function() { 
      $.ajax({ 
       type: "GET", 
       url: "Search.aspx/TestMethod", 
       data: "{}", 
       contentType: "application/json", 
       dataType: "json", 
       error: function (XMLHttpRequest, textStatus, errorThrown) { 
        alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown); 
       }, 
       success: function (result) { 
        alert("We returned: " + result); 
       } 
      }); 
     }); 

</script> 
: 어려움 Search.aspx 페이지 내부에서 클라이언트 쪽 버튼 클릭에서 위의 메소드를 호출하는 데

[WebMethod] 
    public static string TestMethod(string param) 
    { 
     return "It worked"; 
    } 

다음은 오류 ajax 기능의 경고 상자를 표시하는 화면입니다.

enter image description here

+0

당신이 firfox 디버거 스크린 샷은 읽기 쉽게 만들 수 있습니까? –

+0

또한 디버깅 할 때 서버 코드에 오류가 발생합니까? 그렇다면 그것은 무엇을 말하는가? 그렇지 않다면 IIS가 오류를 던지고 IIS 로그에 기록된다는 의미입니다. –

+0

@JasonRoell IIS가 아닌이 물마루 비디오 스튜디오를 실행합니다. 난 뒤에 코드에서 설정 한 중단 점이 트리거되지 않습니다. –

답변

-1

당신의 방법에 기대 : 여기

enter image description here

파이어 폭스 디버거에서 완전한 오류와 스크린 샷입니다 : 여기

enter image description here

파이어 폭스 디버거에서 다른입니다 매개 변수를 수신하십시오 ...

[WebMethod] 
public static string TestMethod() 
{ 
    return "It worked"; 
} 

을 또는 (당신이 POST 형식을 사용해야합니다)이 당신의 JS 변경 : 이 귀하의 방법을 변경

<script> 
$('#addButton').click(function() { 
      $.ajax({ 
       type: "POST", 
       url: "Search.aspx/TestMethod", 
       data: JSON.stringify({ "param" : "anything"}), 
       contentType: "application/json", 
       dataType: "json", 
       error: function (XMLHttpRequest, textStatus, errorThrown) { 
        alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown); 
       }, 
       success: function (result) { 
        alert("We returned: " + result); 
       } 
      }); 
     }); 

</script> 
+0

를 나타내는 나는 Ajax가 전화를 걸려고하는 중에도 같은 오류가 발생하고 전화를 걸면 코드가 메서드 뒤에 숨어서 전화를 걸지 못하게 될 수도있다. web.config 또는 어디에서든지 설정할 수있는 것이 있습니까? 나는이 일을하지 않았으며, 프로젝트는 기본 설정을 가지고 있습니까? –

+0

Firefox 디버거의 "응답"탭을 보여줍니다. –

+0

니스 ... "GET 요청을 사용하여 'TestMethod'메서드를 호출하려고했습니다. 허용되지 않습니다." 그것이 도움이되는지 확실하지 않습니다. –