javascript - 无法在 PHP 中回显以 ajax 发送的 POST 参数
问题描述
我将 send 方法中的两个参数发送到 index.php。但是 PHP 返回一个错误“未定义的索引”。回声 $_POST['fname'];
submit.addEventListener("click", function(e){
e.preventDefault();
var xhr = new XMLHttpRequest();
xhr.open("POST", "index.php", true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status == 200) {
var result = xhr.responseText;
console.log(result);
}
}
xhr.send("fname=Henry&lname=Ford");
});
解决方案
为了通过 Ajax 发送表单数据,您必须指定请求的内容类型。在您的情况下,它将是'application/x-www-form-urlencoded
:
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
所以你的代码将是:
submit.addEventListener("click", function(e){
e.preventDefault();
var xhr = new XMLHttpRequest();
xhr.open("POST", "index.php", true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status == 200) {
var result = xhr.responseText;
console.log(result);
}
}
xhr.send("fname=Henry&lname=Ford");
});
推荐阅读
- c# - 无法将文件上传到 Azure 文件共享
- java - DynamoDB 从 Java 更新列表失败
- php - 在php中处理非常大的数字
- python - 从 BigTable 解码二进制数据
- image - 图像未添加到 pug 文件
- javascript - 修复警告 ///列表中的每个孩子都应该有一个唯一的“关键”道具
- node.js - 仅当 Bash/GitBash 提供新版本时 NPM 自我更新
- quickfix - 是否可以将 quickfix 消息转换为特定的类以获得智能指导?
- javascript - 如何从模块中的 modalDialog 动态生成和捕获用户输入?
- tableau-api - Tableau 目标与实际 - 数据丢失问题