Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的AJAX请求返回空?_Javascript_Jquery_Node.js_Ajax_Response - Fatal编程技术网

Javascript 为什么我的AJAX请求返回空?

Javascript 为什么我的AJAX请求返回空?,javascript,jquery,node.js,ajax,response,Javascript,Jquery,Node.js,Ajax,Response,我已经看过的: 错误: 未能加载资源:net::ERR\u EMPTY\u响应 代码: 客户端 var load = 0; $( document ).ready(function() { if (load == 0) { load++; $.ajax({ type: "POST", url: "/1/2", dat

我已经看过的:


错误:

未能加载资源:net::ERR\u EMPTY\u响应


代码:

客户端

var load = 0;

    $( document ).ready(function() {
        if (load == 0) {
            load++;
            $.ajax({
                type: "POST",
                url: "/1/2",
                data: someData,
            }).done(function(response) {
                console.log("RESPONSE :"+response);
                if (response.charAt(0) == "F") {
                    localStorage.setItem("error_msg_local", response);
                } else if (response.charAt(0) == "L") {
                    localStorage.setItem("success_msg_local",response);
                } else {
                    localStorage.setItem("error_msg_local", "Internal error. Please try again.");
                }
            });
        }
    });
服务器

请求随POST一起发送,并将等待用户完成特定操作。如果用户什么也不做,120秒后,“否”将被记录,“F”应作为响应发送

router.post("/2", function(req, res, next){

        request.post({
            url: 'URL:Port',
            json: {  
              JsonData: JsonData,  
              timeout: "120000"  
            }
        },
        function (error, response, body) {
            if (!error && response.statusCode == 200) {
                if (body.status == "success") {
                    //User completed action within 120 seconds, so do stuff
                }
                else {
                    //120 elapsed without user completing action, body.status == "nothing", so execute this:
                    console.log("NO");
                    res.send("F");
                }
            }
            else {
                console.log("ERROR: "+error);
            }
        });
});

问题:

我故意等待120秒来测试我的代码。客户端上没有记录任何内容,但服务器上记录了“NO”,因此我知道res.send(“F”)应该作为响应发送

router.post("/2", function(req, res, next){

        request.post({
            url: 'URL:Port',
            json: {  
              JsonData: JsonData,  
              timeout: "120000"  
            }
        },
        function (error, response, body) {
            if (!error && response.statusCode == 200) {
                if (body.status == "success") {
                    //User completed action within 120 seconds, so do stuff
                }
                else {
                    //120 elapsed without user completing action, body.status == "nothing", so execute this:
                    console.log("NO");
                    res.send("F");
                }
            }
            else {
                console.log("ERROR: "+error);
            }
        });
});
然而,我在浏览器控制台中收到一条错误消息“加载资源失败:net::ERR_EMPTY_RESPONSE”,但什么也没有发生

以下是在我的终端中注销的所有内容(服务器日志):

奇怪的是,虽然我只调用了一次,但请求似乎被触发了多次

我甚至添加了一个加载计数器来确保它只被调用一次,但它似乎被调用了两次


我应该怎么做才能只有一个AJAX请求,并从服务器上获得正确的响应?

错误描述中有它——空响应。您的服务器接收并记录了请求,但未发送任何响应。浏览器可能会拒绝响应,例如CORS的响应,但我希望在这种情况下会出现不同的错误消息


您是否有其他方法来测试URL,例如cUrl?我使用Fiddler来监控和操纵网络流量,这可能会更容易。在重新访问客户机代码之前,请排除服务器。

错误描述中有它——空响应。您的服务器接收并记录了请求,但未发送任何响应。浏览器可能会拒绝响应,例如CORS的响应,但我希望在这种情况下会出现不同的错误消息


您是否有其他方法来测试URL,例如cUrl?我使用Fiddler来监控和操纵网络流量,这可能会更容易。在重新访问客户端代码之前,请排除服务器。

请添加更多服务器代码。@Phix好的。@Phix问题编辑了为什么否决票?您正在发布到
/1/2
,但显示了
/payment
的帖子处理程序,这是故意的吗?不过,我不确定您在
/payment
处理程序中想做什么。请添加更多的服务器代码。@Phix好的。@Phix问题编辑了为什么否决票?您正在发布到
/1/2
但显示了
/payment
的POST处理程序,这是故意的吗?不过,我不确定您在
/payment
处理程序中想做什么。