使用JavaScript(xhttp)发送POST数据(ajax) 函数loadDoc(){ var xhttp=newXMLHttpRequest(); var a=document.getElementById(“名称”).value; var b=document.getElementById(“消息”).value; var postdata=“name=a&message=b”;//这里可能需要值的转义方法,就像您所做的那样 xhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ document.getElementById(“demo”).innerHTML=this.responseText; } }; open(“POST”,“/chat/backend input.php”,true); setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”); xhttp.send(postdata); } 名称: 信息:
为什么这个代码不起作用?我是否做错了什么,当我按下提交按钮时,它不会发布表单中的数据 有人能解释一下我哪里出错了吗使用JavaScript(xhttp)发送POST数据(ajax) 函数loadDoc(){ var xhttp=newXMLHttpRequest(); var a=document.getElementById(“名称”).value; var b=document.getElementById(“消息”).value; var postdata=“name=a&message=b”;//这里可能需要值的转义方法,就像您所做的那样 xhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ document.getElementById(“demo”).innerHTML=this.responseText; } }; open(“POST”,“/chat/backend input.php”,true); setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”); xhttp.send(postdata); } 名称: 信息:,javascript,jquery,ajax,http,https,Javascript,Jquery,Ajax,Http,Https,为什么这个代码不起作用?我是否做错了什么,当我按下提交按钮时,它不会发布表单中的数据 有人能解释一下我哪里出错了吗 编辑:不是输出表单中的内容,而是输出a和b 首先,不要忘记将id=“message”添加到行:消息: 过帐数据 是吗 <script> function loadDoc() { var xhttp = new XMLHttpRequest(); var a = document.getElementById("name").value; var b
编辑:不是输出表单中的内容,而是输出a和b 首先,不要忘记将
id=“message”
添加到行:消息:
过帐数据
是吗
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
var a = document.getElementById("name").value;
var b = document.getElementById("message").value;
var postdata = "name=a&message=b"; //Probably need the escape method for values here, like you did
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
}
};
xhttp.open("POST", "/chat/backend-input.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(postdata);
}
</script>
<form onsubmit="loadDoc()">
Name: <input type="text" name="name" id="name"><br>
Message: <input type="text" name="message"><br>
<input type="submit"></input>
</form>
因此,您发布的值实际上是“a”
和“b”
相反,您需要将a
和b
变量的值添加到postdata
。简单的字符串连接就可以了,但在您需要转义它们之前(使用),以防它们有特殊字符
因此,请尝试以下方法来修复它更改:
var postdata = "name=a&message=b";
// ...
xhttp.send(postdata);
致:
它应该可以工作。可能重复您不取消表单提交您是否查看了控制台?上面写着什么?----另外,添加一个
id
到
我添加了那个id,我错过了,但它仍然不起作用!它正在输出a和b。。。而不是形式上的东西
var postdata = "name=a&message=b";
var postdata = "name=" + encodeURIComponent(a) + "&message=" + encodeURIComponent(b);