2014-10-26 4 views
0

Я просто изучаю jQuery и работаю над ajax submit, но моя форма не отправляется, она просто перенаправляется на мою домашнюю страницу.Ошибка представления формы Ajax

Вы видите ошибку в моем AJAX?

Форма структура с URL и ид - используя шаблон лезвия в Laravel:

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

АЯКС вызов (Примечание: Я использую JQuery проверки плагин)

$(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 не показывает никаких ошибок, просто перенаправляет на индексную страницу.

Вот мой Post Route (подчиняясь той же странице, форма расположена на):

Route::post('/contractors/invoice', '[email protected]'); 

Кроме того, это может быть отметить, что форма работает отлично с PHP представить действие.

ТИА

ответ

1

Поскольку Перенаправление работает, мы можем быть правы предположить, что вызов Ajax был успешным (если нет других Перенаправление ??).

Посмотрите на вкладку «Сеть» в Firebug, вы сможете увидеть данные, отправленные во время запроса Ajax.

Могу ли я также предложить искать тело ответа от вызова Ajax, это может дать вам больше информации о том, что происходит за занавесом.

Я надеюсь, что это помогает

+0

я должен был быть немного более ясным: страница перенаправляет на главную страницу, но это не является результатом Аякса ... Ссылка на домашнюю страницу не найден в любом месте формы или вызова. – retrograde

+0

Попробуйте удалить вызов Ajax, чтобы увидеть, все еще происходит перенаправление. Если это произойдет, это будет означать, что вы получаете помехи от другого сценария. Извините, я могу только дать неопределенные указатели, но мне потребуется дополнительная информация, чтобы полностью диагностировать проблему. Вы можете попробовать получить помощь от сообщества Laravel. Расскажите мне о своем прогрессе;) – PhilTrep

+0

Спасибо, я посмотрю. Я ценю помощь. – retrograde

Смежные вопросы