2015-01-28 6 views
3

중복 게시물로 생각할 수도 있습니다. 그러나, 나는 다양한 블로그에서 많은 연구를했지만 나는 내가하고있는 실수를 이해할 수 없었다.jQuery AJAX가 WebMethod에 충돌하지 않습니다

는 나는 "성공"경고를 얻을하지만 난의 WebMethod 타격을 볼 수 없습니다

$.ajax({ 
    type: "POST", 
    url: "test.aspx/Save", 
    data: "{ 'Id': 'test', 'newvalue': 'test' }", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function() { 
     alert('success'); 
    }, 
    error: function (xhr, status, error) { 
     alert(err.Message); 
    }, 
    failure: function() { 
     alert('failure'); 
    } 
}); 

아래로 웹 메소드를 호출하고 있습니다. 내 웹 방법은 다음과 같습니다.

[WebMethod] 
    public static void Save(string Id, string newvalue) 
    { 
     //my code 

    } 

나는 브레이크 포인트를 유지하지만 절대로 안타. 또한 $ 포스트와 시도했지만 이러한 호출 같은 문제

$.post("test.aspx/Save", { Id: "test", newvalue: "test" }, function (data, status) { 
    alert('second'); 
}); 

없음 웹 메소드를 공격하지 않습니다하지만 난 후 통화에서 Ajax 호출 및 "두 번째"의 경고에 성공의 경고를 얻을. 누구든지 단서가 있다면 조언하십시오. ASP.NET 페이지에 대한 감사

+0

유효한 JSON'데이터 전송을 시도 : '{ "이드": "테스트", "NEWVALUE": "테스트"}',' – Musa

+0

나는 너무 시도했다. 그것은 항상 나에게 "성공"경고를 주지만 결코 웹 방식으로 들어 가지 않습니다. – techspider

답변

3

나는 이것에 대한 해결책을 가지고있다. 내 RouteConfig.cs에서 RedirectMode가 올바르게 설정되지 않았습니다. 모드를 끄기로 변경하면 모든 것이 작동합니다.

public static void RegisterRoutes(RouteCollection routes) 
    { 
     var settings = new FriendlyUrlSettings(); 
     settings.AutoRedirectMode = RedirectMode.Off; 
     routes.EnableFriendlyUrls(settings); 
    } 
0

, 당신은 간단한 자바 스크립트 함수를 작성하고 다음과 같이 호출 할 수 있습니다

MVC ON
<script type="text/javascript"> 
function dostuff() { 

PageMethods.Save("new Id", "new Value"); //this gets any webmethod registered on your page(in this case, the "Save" you created) 

} 
</script> 

: 어떤 이유로, 당신이 정적 함수가 선언 호출 할 수 없습니다 보인다 귀하의 컨트롤러 페이지 에이 잭스,하지만 일단 정적 키워드를 제거, 그것은 매력처럼 작동합니다.

+0

MVC없이 ASP.NET을 사용하고 있습니다. 나는 이미 내 페이지에서 이것을 시도했지만 작동하지 않습니다. – techspider

+0

페이지에서이 컨트롤을 선언하십시오 :'' –

관련 문제