在javascript中,我有一些我希望作为帖子发送的数据(不是ajax).它应该与用户单击提交按钮的行为相同.但是,我没有实际的表格.数据从页面收集到各种变量中,包括我编码为json的数组.
我可以用display:none创建一个html表单,将值放在这个表单中,然后触发不可见的提交按钮.有没有更好的办法?
如果你不想/不能使用Ajax,那么你必须使用一个表单,它将刷新你的浏览器:
$('<form action="urlToServer" method="POST"></form>')
.append('<input name="data" value="' + yourJSONData + '" />')
.submit()
;
Run Code Online (Sandbox Code Playgroud)
海报"克劳迪奥·布雷德费尔特"正在走上正确的道路,但是他省略了使这项工作成为必要的一些重要信息.
除非将表单附加到DOM,否则表单无法在所有浏览器中提交.所以你需要做的是更像这样的事情:
var $form = $('<form action="http://myurl" method="POST">');
$form.append('<input name="name" value="bob" />');
$form.appendTo($('body')).submit();
Run Code Online (Sandbox Code Playgroud)
(可选)您可能希望将某些css附加到表单,以便在导致表单发布事件发生时,用户不会看到它.您还可以选择在发布后"删除"表单元素,以便"后退"事件不会错误显示,具体取决于浏览器缓存行为.
| 归档时间: |
|
| 查看次数: |
3365 次 |
| 最近记录: |