0

有没有办法通过简单地查看代码来判断是否在某处记录了 ajax 错误?

我们有一个页面的副本,它会抛出错误,因为我们没有登录。。.. 但我们并不真正关心登录,因为我们实际上只是在测试和移动代码等。但我们不是代码的原始所有者,所以我们从字面上复制了元素并只是在玩功能在本地服务器上。我们只是不希望可怜的程序员在我们只是移动和玩代码时遇到大量错误并变得笨拙。

我们关心的代码是:

//----------------------------- Called each time the page is loaded -------//
function init(){
//launch session time out counter
startSession();
//store Q answers
//$('#questionnaire').data('firstChange', true);
$('#questionnaire').data('q1', $('[name="A"]:checked').val());
$('#questionnaire').data('q2', $('[name="B"]:checked').val());
$('#questionnaire').data('q3', $('[name="C"]:checked').val());
$('#questionnaire').data('q4', $('[name="D"]:checked').val());
//reset flags
$('#content').data('clickBound', true);
$('#content').data('payerJson', null);
$('#content').data('myValidator', null);

//Handle different types of Ajax errors
$.ajaxSetup({
error:function(x,e){
    if(x.status==0 || x.status==401){
        var answer = confirm("You're logged out the application. Click on \"Ok\" to log in again.");
        if(answer){
            window.location="./";
        }
    }else if(x.status==404){
    alert('Requested URL not found. Please check your network connection and try to log in again.');
    }else if(x.status==500){
    alert('Internal Server Error. Please try to log out and log in again.');
    }else if(e=='parsererror'){
    alert("Error.\nParsing Request failed. Please try to log out and log in again.");
    }else if(e=='timeout'){
    alert('Request Time out. Please check your network connection and try to log in again.');
    }else {
    alert("Unknown Error.\n"+x.responseText + "\n Please try to log out and log in again on.");
    }
},
cache : false
}); 
4

2 回答 2

1

没有办法根据查看客户端代码来确定服务器上发生了什么。除非客户端代码将某种数据传递给服务器以告诉它以特定方式登录。即使那样,如果不继续查看服务器,您也无法知道服务器是否真正记录了请求。

这里的底线是服务器将确定服务器的日志记录行为,而不是客户端。

于 2013-05-17T17:24:35.393 回答
0

您的问题的答案已经得到了回答:无法从 javascript 中判断服务器将如何处理它获取的数据。

但是,您可以确定代码是否将数据发送到除您自己的服务器之外的其他任何地方。您提供的代码段不会启动任何 ajax 调用,因此除非有其他部分直接将信息发送到原始所有者的服务器,否则我会说您不会让他/她头疼。

可以肯定的是,检查 ajax 调用的 url,和/或使用开发人员工具中的网络选项卡来查看是否有任何非预期的通信正在进行。

于 2013-05-17T17:41:26.920 回答