gpt4 book ai didi

javascript - 就绪状态永远不会达到 4

转载 作者:行者123 更新时间:2023-11-30 16:50:16 25 4
gpt4 key购买 nike

在下面的代码中,我尝试将一些数据发布到表中,然后从表中检索几条记录。出于测试目的,我只在 php 中包含了一个虚拟查询,它返回一个有效的 xml。

但是 Javascript 就绪状态只达到就绪状态 1(两次)。由于 php 似乎工作正常,我怀疑我编写的 javascript 脚本不正确。是不是“request”变量有问题?

$(document).ready(function() {
$('form').submit(function(event) { //Trigger on form submit
$('#name + .throw_error').empty(); //Clear the messages first

var name = $('input[name=name]').val();
var request = !window.XMLHttpRequest ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest;
request.onreadystatechange = function() {

if (request.readyState == 4 && request.status == 200) {
var xml = request.responseXML;
var dynamiclist = '';
document.getElementById("myLink").innerHTML = '';
var posts = xml.documentElement.getElementsByTagName("post");
for (var i = 0; i < posts.length; i++) {
var Msg = posts[i].getAttribute("Msg");
alert("test");
var dynamiclist = dynamiclist + '<article class="middleContent"><header><h2><a href="#" title="Post">' + Msg + '</a></h2></header> </article>';
document.getElementById("myLink").innerHTML = dynamiclist;
};
};
};
request.open('POST', 'process.php', true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send('name=' + name);
});
});

最佳答案

在这里使用 jQuery 很有意义。

但最有可能的简单解决方案是简单地删除 request.open() 中的最后一个“true”,这使请求成为一个异步的、非阻塞的请求(无论如何它确实应该是)。 MDN 还在 onreadystatechange 上声明你不应该将它与同步请求一起使用(也就是将“true”作为 open() 的第三个参数的请求)

来源:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

关于javascript - 就绪状态永远不会达到 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30629280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com