Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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 未将数组从Node.js获取到AJAX_Javascript_Html_Ajax_Node.js - Fatal编程技术网

Javascript 未将数组从Node.js获取到AJAX

Javascript 未将数组从Node.js获取到AJAX,javascript,html,ajax,node.js,Javascript,Html,Ajax,Node.js,您好,根据我的代码,我似乎没有从Node.js访问或响应到AJAX的数组,没有其他错误或其他错误,但我似乎无法找出我的代码的错误,请参见下文。提前感谢您的帮助 下面是AJAX代码: 我正在访问console.log(req.readystate),它输出“1”,警报(“您的程序达到了rq.onreadystatechange”);和警报(“您的程序达到rq.onreadystatechange=4”);然后过了一段时间,现在将收到响应,我在控制台上看到错误 ajax代码在onreadystat

您好,根据我的代码,我似乎没有从Node.js访问或响应到AJAX的数组,没有其他错误或其他错误,但我似乎无法找出我的代码的错误,请参见下文。提前感谢您的帮助

下面是AJAX代码:

我正在访问console.log(req.readystate),它输出“1”,警报(“您的程序达到了rq.onreadystatechange”);和警报(“您的程序达到rq.onreadystatechange=4”);然后过了一段时间,现在将收到响应,我在控制台上看到错误


ajax代码在
onreadystatechange
回调中具有
打开
发送
。您需要将其移出:

function update() {
    console.log('update called');
    let rq = new XMLHttpRequest();
    rq.onreadystatechange = function() {
        console.log('readyState: ' + rq.readyState);
        if(rq.readyState == 4) {
            console.log('responseText: ' + rq.responseText);
            var arr = JSON.parse(rq.responseText);
            for(var i = 0; i < arr.length; i++) {
                document.getElementById("message").innerHTML += "<p>" + arr[i] + "</p>";
            }
        }
    };
    // moved out of above function
    rq.open("GET", "/messages", true);
    rq.send();
}
函数更新(){
log('updatecalled');
设rq=newXMLHttpRequest();
rq.onreadystatechange=函数(){
log('readyState:'+rq.readyState);
如果(rq.readyState==4){
console.log('responseText:'+rq.responseText);
var arr=JSON.parse(rq.responseText);
对于(变量i=0;i”+arr[i]+“

”; } } }; //已移出上述功能 rq.open(“GET”,“/messages”,true); rq.send(); }

通过添加一些
console.log
调用,您还可以更好地跟踪正在(未)发生的事情。

ajax代码在
onreadystatechange
回调中打开
发送
。您需要将其移出:

function update() {
    console.log('update called');
    let rq = new XMLHttpRequest();
    rq.onreadystatechange = function() {
        console.log('readyState: ' + rq.readyState);
        if(rq.readyState == 4) {
            console.log('responseText: ' + rq.responseText);
            var arr = JSON.parse(rq.responseText);
            for(var i = 0; i < arr.length; i++) {
                document.getElementById("message").innerHTML += "<p>" + arr[i] + "</p>";
            }
        }
    };
    // moved out of above function
    rq.open("GET", "/messages", true);
    rq.send();
}
函数更新(){
log('updatecalled');
设rq=newXMLHttpRequest();
rq.onreadystatechange=函数(){
log('readyState:'+rq.readyState);
如果(rq.readyState==4){
console.log('responseText:'+rq.responseText);
var arr=JSON.parse(rq.responseText);
对于(变量i=0;i”+arr[i]+“

”; } } }; //已移出上述功能 rq.open(“GET”,“/messages”,true); rq.send(); }

通过添加一些
console.log
调用,您还可以更好地了解什么是(不是)发生。

放入console.log并检查您得到的响应。正确的代码缩进将使您更容易发现错误,Chrome调试器中的“网络”选项卡将大大有助于查看在何处查找问题。@jfriend00:我在控制台或浏览器中没有错误,我也无法使用console.log()将数组发送回AJAX时的数组。它没有到达readystate 4。@maheshiv:如果我执行console.log(rq.responseText)操作,则不会输出任何打印。它没有到达readystate=4。我的观点是,如果您查看调试器中的“网络”选项卡,你会发现你的请求从未被发送过,这是一个重要的线索。放置console.log并检查你得到的响应。正确的代码缩进将使你更容易发现错误,Chrome调试器中的“网络”选项卡将大大有助于你找到问题所在。@jfriend00:我在这方面没有错误在控制台或浏览器中,我也无法在将数组发送回AJAX时对其执行console.log()操作。它没有到达readystate 4。@maheshiv:如果我执行console.log(rq.responseText)操作,则不会输出任何打印。它没有到达readystate=4。我的观点是,如果您查看调试器中的“网络”选项卡,你会发现你的请求从未被发送,这将是一个重要的线索。我在函数外部添加了它谢谢你指出了这一点。我在函数外部添加了它谢谢你指出了这一点。
function update() {
    console.log('update called');
    let rq = new XMLHttpRequest();
    rq.onreadystatechange = function() {
        console.log('readyState: ' + rq.readyState);
        if(rq.readyState == 4) {
            console.log('responseText: ' + rq.responseText);
            var arr = JSON.parse(rq.responseText);
            for(var i = 0; i < arr.length; i++) {
                document.getElementById("message").innerHTML += "<p>" + arr[i] + "</p>";
            }
        }
    };
    // moved out of above function
    rq.open("GET", "/messages", true);
    rq.send();
}