我有一个表单,我需要做的是通过jquery .post将此表单数据传递到另一个页面,然后在下面找到javascript
<script type="text/javascript">
$("form").submit(function(){
$(".application_container").append('<div class="preloading" style="padding-top:250px;"><img src="<?php echo base_url() . "assets/images/loading.gif";?>" alt="تحميل" /></div>').show();
var str = $("form").serialize();
var url = "<?php echo base_url() . "hawaa/confirm_applicant.html"; ?>";
$.post(url, function(str){
$(".application_container").append(str).show();
$(".preloading").remove();
});
return false;
});
</script>
其请求另一个页面但未将表单提交的数据发送给它的错误,因此显示验证错误
答案 0 :(得分:4)
您错误地使用了$.post()
。您需要将数据str
作为数据参数传递,如下所示:
$.post(url, str, function(data, status, jqXHR) {
// do stuff with response data here
});
答案 1 :(得分:3)
您必须将str
变量作为第二个参数传递给$.post
来电。
documentation表示:
所以正确的方法是:
<script type="text/javascript">
$("form").submit(function(){
$(".application_container").append('<div class="preloading" style="padding-top:250px;"><img src="<?php echo base_url() . "assets/images/loading.gif";?>" alt="تحميل" /></div>').show();
var str = $("form").serialize();
var url = "<?php echo base_url() . "hawaa/confirm_applicant.html"; ?>";
$.post(url, str, function(result){
$(".application_container").append(result).show();
$(".preloading").remove();
});
return false;
});
</script>