当导航到不同页面需要 POST 请求时,标准表单提交方法可能会无法通过 JavaScript 访问。本文介绍了一种动态发布数据并更改浏览器位置、模拟表单提交行为的解决方案。
要实现此目的,请创建动态表单,使用包含必要参数的隐藏输入字段填充它,然后提交它:
<br>function post(path, params, method='post') {<br> const form = document.createElement('form');<br> form.method = 方法;<br> form.action = 路径;<p>for (const key in params) {</p><pre class="brush:php;toolbar:false">if (params.hasOwnProperty(key)) { const hiddenField = document.createElement('input'); hiddenField.type = 'hidden'; hiddenField.name = key; hiddenField.value = params[key]; form.appendChild(hiddenField); }
}
document.body.appendChild(form);
form.submit();
}
要将参数“name”设置为“Johnny Bravo”,将数据提交到“/contact/”:
<br>post('/联系人/', {name: '约翰尼Bravo'});<br>
在提供的解决方案中,“hasOwnProperty”检查可确保跨浏览器和防止潜在的错误。
以上是如何在 JavaScript 中模拟 POST 表单提交?的详细内容。更多信息请关注PHP中文网其他相关文章!