这是我的 index.html
<script>
var xml = new XMLHttpRequest();
xml.onreadystatechange = function(){
if (xml.readyState === 4 && xml.status === 200) {
console.log(xml.responseText);
}
}
xml.open("POST", "ajax.php", true);
var data = new FormData();
data.append("name","Sahan");
xml.send(data);
</script>
这是我的 ajax.php
<?php
echo "Hello " . $_POST["name"];
?>
当我在本地主机上运行此结果时
注意:未定义索引: C:\ xampp \ htdocs \ chat \ ajax.php 中 2 行上的名称
你好
但是当我使用 JQuery 它正在正常工作......
我的问题是如何在没有JQuery的情况下使用JavaScript发送ajax ..?
答案 0 :(得分:6)
当您将ajax与发布数据一起使用时,您必须传递正确的标头信息以及请求
<script>
var xml = new XMLHttpRequest();
xml.onreadystatechange = function(){
if (xml.readyState === 4 && xml.status === 200) {
console.log(xml.responseText);
}
}
xml.open("POST", "ajax.php", true);
//Send the proper header information along with the request
xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
/*var data = new FormData();
data.append("name","Stackoverflow");*/
xml.send("name=Stackoverflow");
</script>
答案 1 :(得分:2)
您可以在javascript函数中使用此代码。
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
}
};
xhttp.open("POST", "ajax_test.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("fname=Stack&lname=Overflow");
了解更多详情Ajax at w3schools