javascript - 提交表单后如何防止表单呈现到新页面?
问题描述
function post(url, fields) {
//create a <form> element.
var p = document.createElement('form');
//construct the form
p.action = url;
p.innerHTML = fields;
p.target = '_self';
p.method = 'post';
//append the form to the current page.
document.body.appendChild(p);
//submit the form
p.submit(function (e) {
e.preventDefault();
});
}
解决方案
尝试发布方法而不是提交表单
function post(url, fields) {
$.post(url,{fields: fields} ,function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
}
function post(url, fields) {
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(fields));
}
推荐阅读
- firebase - 使用颤振的当前用户将配置文件更新到 Firestore 云
- docker - 与 dns 名称的 Pod 间通信在 kubernetes 中不起作用
- class - Flutter Equatable Class 属性必须都是 final
- python - 多 GPU 训练中的损失函数 (PyTorch)
- python - 输出以单行获取
- python - 将数据导入 Seaborn Boxplot 的困难
- r - 使用 R 中的 gamlss 包计算列线图和 z 分数
- c# - 在特定行之后插入行
- java - 触发 SizeBasedTriggeringPolicy 时 Log4j Filepattern 不起作用
- c - C控制子进程的缓冲