Ajax表单提交错误

时间:2014-10-26 22:44:34

标签: jquery forms

我只是学习jQuery并致力于ajax提交,但我的表单没有提交,只是重定向到我的主页。

你在我的AJAX中看到错误吗?

带有网址和ID的表单结构 - 在Laravel中使用刀片模板:

{{ Form::open(
    array(
      'url' => '',
      'class' =>'form-horizontal',
      'id' => 'invoiceForm',
      'method' => 'post'
    )
) }}

ajax调用(注意:我正在使用jQuery validate插件)

$(document).ready(function(){
$('#invoiceForm').validate({
    rules:{
        title: {
            required: true,
            maxlength: 255,
        }
    },
    messages:{
        title: {
            required: 'Please enter a title.'
        }   
    },
    submitHandler: function(form) {
                    var title = $('#title').val();
                    var customerId = $('#customer').val();
                    var contractorId = $('#contractorId').val();
                    var taxRate = $('#taxRate').val();
                    var servicename = $('#taxRate').val();
                    var taxable = $('#taxable').val();
                    var qty = $('#qty').val();
                    var price = $('#price').val();
                    var subtotal = $('#subtotal').val();
                    var total = $('#gtotal').val();
                    var comments = $('#comments').val();


                        $.post(baseURL+'/contractors/invoice', 
                         {  
                                title: title,
                                customerId: customerId,
                                contractorId: contractorId,
                                taxRate: taxRate,
                                serviceName: serviceName,
                                taxable: taxable,
                                qty: qty,
                                price: price,
                                subtotal: subtotal,
                                total: total,
                                comments: comments
                            },
                            function(response){
                            if(response.status == 200) {
                                location.href=baseURL+'/contractors/dashboard';
                            }
                            else if(response.status == 400) {
                                $('#msgSection').empty().removeClass('alert-error alert-success').addClass('alert-error');

                                }
                            }, 'json');
                        return false;
                    }
                    });

验证有效,但我不认为表单正在捕获.post操作。 Firebug不会显示任何错误,只是重定向到索引页面。

这是我的邮政路线(提交表格所在的同一页面):

Route::post('/contractors/invoice', 'ContractorController@postInvoice');

另外,可能需要注意的是,表单在php提交操作中运行正常。

TIA

1 个答案:

答案 0 :(得分:1)

由于重定向正常,我们可能会认为Ajax调用成功(除非在其他地方有重定向?)。

查看Firebug中的“网络”选项卡,您应该能够看到在Ajax请求期间发送的数据。

我可能还建议从Ajax调用中查找响应主体,它可能会为您提供有关窗帘后面的内容的更多信息。

我希望这会有所帮助