omg*_*omg 17 forms jquery post
虽然$ .ajax()可用于执行ajax事务,但我认为它不适合发布大型表单的值.
如果post
不手动输入所有这些形式(很多领域),你会怎样?
zom*_*bat 43
这个假设背后的理由是什么?POST用于传输比GET更大量的数据.AJAX POST请求几乎与"普通"POST请求完全相同,它只是由浏览器以略微不同的方式在内部捆绑和处理.一些标题可能略有不同,但数据完全相同.为什么AJAX无法处理"大"形式?
你甚至会把它定义为"大"的形式?
编辑:感谢你澄清了你的问题.我明白你现在在问什么,我知道你来自哪里.对于具有大量输入的表单,将其捆绑到Ajax请求中可能会很麻烦.
由于您使用的是jQuery,因此有一个简单的解决方案.查看serialize()方法.你给它一个表单,它会返回一个查询字符串,其中包含所有表单输入元素和值,您可以直接将其传递给ajax请求.手册页上有一个示例,说明了它是如何完成的.
你所要做的就是:
$.ajax({
data: $("form").serialize(),
//etc.
});
Run Code Online (Sandbox Code Playgroud)
"form"
表格的ID 在哪里.
小智 10
如果您不想手动处理每个元素,可能需要使用序列化.
$.ajax({
type: "POST",
url: "form.php",
data: $("#form_id").serialize()
success: function(msg) {
alert("Form Submitted: " + msg);
}
});
Run Code Online (Sandbox Code Playgroud)
您可以使用jQuery.post( url, data, callback, type)
,因为它更简单jQuery.ajax( options )
.
通过使用serialize
,您可以自动发送整个表单.
$.post("/post_handler/",
$("form#my_form").serialize(),
function(json){
/*your success code*/
}, "json");
Run Code Online (Sandbox Code Playgroud)
一个更完整的例子:
<script>
$().ready(function(){
$("form#my_form submit").click(function(){
$.post("/post_handler/",
$("form#my_form").serialize(),
function(json){
/*your success code*/
}, "json");
return false;
});
}
</script>
<form id="my_form" action="/post_handler/" method="post">
<input type="text" name="text1" value="my text 1" />
<input type="text" name="text2" value="my text 2" />
<input type="submit" name="submit_button" value="Send" />
</form>
Run Code Online (Sandbox Code Playgroud)
这将覆盖默认值post
,并使用AJAX执行它.
归档时间: |
|
查看次数: |
41568 次 |
最近记录: |