我有一个页面,我在其中使用 jQuery ajax 方法来调用一个简单的 Web 服务,该服务将从数据库中获取一些数据并将其绑定到页面中的一些控件。在 select 的onchange事件上调用 ajax 方法(这里的 HTTP 请求是 POST)。以下是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 是 somepage.aspx/getDataFromDatabse 其中 getDataFromDatabse 是 web 服务方法。我们的测试人员正在使用 burp 套件测试页面。当他们在浏览器中直接绑定访问 url(www.example.com/somepage.aspx/getDataFromDatabse) 时,burp 套件中显示的 HTTP 方法是 GET 并引发错误,用户被重定向到相应的页面. 但是当他们直接访问上面的 URL 并在 burp 套件中拦截请求并将 GET 请求更改为 POST 请求时,浏览器中会直接显示以下错误消息:
{"Message":"处理请求时出错。","StackTrace":"","ExceptionType":""}
上面的 ajax 函数中的“错误”没有被执行,并且没有显示警告框,我们能够处理错误。如何处理此类错误并将用户重定向到自定义页面?