Javascript 如何在PHP中接收Ajax urlencode
我需要帮助解决这个问题,请帮助我 我正在尝试将Ajax URLENCDE转换为PHP,但PHP并没有像HTML直接发送到PHP时那样向我显示POST内容 我在Ajax中使用这段代码将FormData发送到PHP 使用这段简单的PHP代码,查看PHP文件名“thefile.PHP”是否有效 使用以下JS、HTML和PHP代码:Javascript 如何在PHP中接收Ajax urlencode,javascript,php,html,ajax,urlencode,Javascript,Php,Html,Ajax,Urlencode,我需要帮助解决这个问题,请帮助我 我正在尝试将Ajax URLENCDE转换为PHP,但PHP并没有像HTML直接发送到PHP时那样向我显示POST内容 我在Ajax中使用这段代码将FormData发送到PHP 使用这段简单的PHP代码,查看PHP文件名“thefile.PHP”是否有效 使用以下JS、HTML和PHP代码: 函数sendme(){ var form=新的FormData(document.forms['form']); if(window.XMLHttpRequest) var
函数sendme(){
var form=新的FormData(document.forms['form']);
if(window.XMLHttpRequest)
var ajax=new-XMLHttpRequest();
其他的
var ajax=新的ActiveXObject(“Microsoft.XMLHTTP”);
open(“post”,“thefile.php”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded;字符集=UTF-8”);
ajax.onreadystatechange=函数(){
if(ajax.readyState==4&&ajax.status==200)
log(ajax.responseText);//在控制台中查看返回
};
发送(表单);
};
输入内容:
用户:用户名
密码
结果是:
您的httpHeader“application/x-www-form-urlencoded”似乎与FormData对象不兼容 只需按如下方式进行评论:
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
to
//ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
如果您希望在请求中使用“application/x-www-form-urlencoded;charset=UTF-8”。您必须编写简单的javascript代码,使其成为普通字符串,如:
var form = "user=root&pass=root";
.....
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
.....
ajax.send(form);
发件人:
表单数据:将运行多部分/表单数据
编码算法的结果推送到流,对象作为表单数据集,utf-8作为显式字符编码
您正在生成一个多部分/表单数据体,但是您正在显式地设置内容类型头,以声明它是application/x-www-form-urlencoded;字符集=UTF-8
要么:
- 指定正确的内容类型
- 不要指定内容类型,让XHR为您设置
var form = "user=root&pass=root";
.....
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
.....
ajax.send(form);