jQuery ajax 메서드를 사용하여 데이터베이스에서 데이터를 가져 와서 페이지의 일부 컨트롤에 바인딩하는 간단한 Webservice를 호출하는 페이지가 있습니다. ajax 메소드는 onchange select (여기서 HTTP 요청은 POST 임) 이벤트에서 호출됩니다. JQuery와 AJAX 방식jQuery Ajax 메서드로 처리 오류 처리
function CallAjax(url, jsonData, SucessFunction, FailurFunction) {
$.ajax({
type: "POST",
url: url,
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: SucessFunction,
error: function(){
alert('error occured');
}
});
}
상기 방법에 대한 URL이 getDataFromDatabse는 웹 서비스 방법이다 somepage.aspx/getDataFromDatabse되어있다 이어. 우리의 테스터는 트렁크를 사용하여 페이지를 테스트하고 있습니다. 브라우저에서 직접 URL (www.example.com/somepage.aspx/getDataFromDatabse)에 액세스하려고 할 때 트랩 스위트에 표시된 HTTP 메소드가 GET이고 오류가 발생하고 사용자가 해당 페이지로 리디렉션됩니다. . 그러나 위의 URL에 직접 액세스하여 트립 모드로 요청을 가로 채고 GET 요청을 POST 요청으로 변경하면 다음 오류 메시지가 브라우저에 직접 표시됩니다.
{ "메시지" ","StackTrace ":" ","예외 유형 ":" "}
위의 ajax 함수에서"오류 "가 실행되지 않고 경고 상자가 표시되지 않고 오류를 처리합니다. 이러한 오류를 처리하고 사용자를 사용자 정의 페이지로 리디렉션하는 방법은 무엇입니까?
ajax 메소드는'select' (dropdownlist) html 컨트롤의'onchange' js 이벤트에서만 호출됩니다. 그러나 서비스 메소드의 URL (www.example.com/somepage.aspx/getDataFromDatabse)이 브라우저에 직접 입력되어 액세스되고 GET 유형이 트랩 제품군을 통해 POST로 변경되면 유효한 JSON 결과가 반환됩니다. 하지만 JSON 결과를 처리하기 위해 jquery ajax 메서드가 호출되지 않고 JSON 결과가 브라우저에서 일반 텍스트로 직접 표시됩니다. 어떻게 처리할까요? – seadrag0n
@ghouse - 브라우저에 URL을 입력 할 때 (그리고 메소드를 POST로 변경하는 경우) jquery'$ .ajax (...)가 호출되지 않으므로 올바르게 이해할 수 없으므로 응답을 듣고. 아마도 나는 당신의 질문을 완전히 이해하지 못하고 있습니까? – Chris
jquery'$ .ajax (...)'는'onchange'에서만 호출되기 때문에 'URL'이 브라우저에서 직접 액세스 될 때 호출되지 않고 GET이 POST로 변경되기 때문에 호출됩니다 JSON 형식으로 위의 메시지를 브라우저에 직접 표시하고 있습니다. – seadrag0n