使用JQuery,我可以轻松地在没有表单且没有页面刷新的情况下执行关键值对的AJAX帖子:
$.ajax({ type: 'POST', url: url, data: { key: value, key: value, etc...} });
但有没有办法发布一组非表格数据值 页面刷新,或者我是否需要采用传统的方法来设置一组表单元素,加载他们的值,然后提交表单?
谢谢!
答案 0 :(得分:5)
你可以采用常规路线,但如果你想避免在页面上放置<form>
,请动态构建jQuery 并填充表单。
答案 1 :(得分:2)
您可以通过jQuery创建动态表单,将其附加到正文并提交。缺点:你必须为它生成所有字段。
$('#Setting_type').change(function () {
$('<form/>', {
action: "/postReceiver.php",
method: "post",
html: "<input name='Setting[key]' value='"+$('#Setting_key').val()+"'>"
+"<input name='Setting[type]' value='"+$('#Setting_type').val()+"'>"
+"<input name='typeChange' value='1'>",
class: "hidden"
})
.appendTo('body')
.submit()
;
});
如果您只想通过POST发送数据但仍然在查询中显示params,只需省略html
属性并将所有内容放入action
$('#Setting_type').change(function () {
$('<form/>', {
action: "/postReceiver.php?type="+encodeURIComponent($('#Setting_name').val())
+"&Setting[key]="+encodeURIComponent($('#Setting_key').val()),
method: "post",
class: "hidden"
})
.appendTo('body')
.submit()
;
});
.hidden {
display: none;
}
答案 2 :(得分:1)
您可以在ajax帖子之后刷新页面:
$.ajax({
type: 'POST',
url: url,
data: {
key1: value1,
key2: value2,
etc...
},
complete: function () {
window.location.reload(true);
}
});
但是用老式的方式做错了什么呢?
<子> window.location.reload
@ MDC 子>
答案 3 :(得分:0)
你总能做到
window.location = //wherever you want go
在ajax success