您是否知道将Javascript对象编码为string可以通过GET请求传递的快速而简单的方法?
不jQuery,没有其他框架 - 只是简单的Javascript :)
我正在尝试使用post方法和FormData对象通过ajax提交表单。
这是JavaScript的简化版本:
var form=…; // form element
var url=…; // action
form['update'].onclick=function(event) { // button name="update"
var xhr=new XMLHttpRequest();
xhr.open('post',url,true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var formData=new FormData(form);
formData.append('update', true); // makes no difference
xhr.send(formData);
xhr.onload=function() {
alert(this.response);
};
};
Run Code Online (Sandbox Code Playgroud)
该表格有:
type="button" name="update")以运行脚本action并且method="get"我的PHP脚本具有以下内容:
if(isset($_POST['update'])) {
print_r($_POST);
exit;
}
// more stuff
print 'other stuff';
Run Code Online (Sandbox Code Playgroud)
当我尝试它时,PHP进入了其余的代码,并且得到了其他输出,而不是我从print_r语句中期望的输出。
我尝试了以下变体:
new FormData()(无表格)。如果我手动添加数据,这确实可行update。new FormData(form)。无论我是否update手动添加,这都行不通。post …