2012-06-07 17 views
0

我有一個表格,人們可以預定某個活動的座位。
它實際上是一個WordPress插件。 當有人發送他的預訂時,電子郵件通知將被正確發送,並且相應地更新事件預訂狀態。
問題是預訂表格沒有給出任何反饋。
一旦您點擊「立即預訂」,圖形會持續加載,並且不會顯示任何反饋,例如「預訂已成功發送」或「表單中存在錯誤」,即使預訂已正確保存,雙方都會通知電子郵件。
我想這是一個JavaScript的問題,Firebug的控制檯沒有顯示任何錯誤...
因此,這裏的預訂形式的代碼源:
預訂形式的作品,但不給反饋

$('#em-booking-form').submit(function(e){ 
e.preventDefault(); 
var em_booking_doing_ajax = false; 
$.ajax({ 
    url: EM.bookingajaxurl, 
    data:$('#em-booking-form').serializeArray(), 
    dataType: 'jsonp', 
    type:'post', 
    beforeSend: function(formData, jqForm, options) { 
     if(em_booking_doing_ajax){ 
      alert(EM.bookingInProgress); 
      return false; 
     } 
     em_booking_doing_ajax = true; 
     $('.em-booking-message').remove(); 
     $('#em-booking').append('<div id="em-loading"></div>'); 
    }, 
    success : function(response, statusText, xhr, $form) { 
     $('#em-loading').remove(); 
     $('.em-booking-message').remove(); 
     $('.em-booking-message').remove(); 
     //show error or success message 
     if(response.result){ 
      $('<div class="em-booking-message-success em-booking-message">'+response.message+'</div>').insertBefore('#em-booking-form'); 
      $('#em-booking-form').hide(); 
      $('.em-booking-login').hide(); 
      $(document).trigger('em_booking_success', [response]); 
     }else{ 
      if(response.errors != null){ 
       if($.isArray(response.errors) && response.errors.length > 0){ 
        var error_msg; 
        response.errors.each(function(i, el){ 
         error_msg = error_msg + el; 
        }); 
        $('<div class="em-booking-message-error em-booking-message">'+error_msg.errors+'</div>').insertBefore('#em-booking-form'); 
       }else{ 
        $('<div class="em-booking-message-error em-booking-message">'+response.errors+'</div>').insertBefore('#em-booking-form');       
       } 
      }else{ 
       $('<div class="em-booking-message-error em-booking-message">'+response.message+'</div>').insertBefore('#em-booking-form'); 
      } 
     } 
     $('html, body').animate({ scrollTop: $("#em-booking").first().offset().top - 50 }); //sends user back to top of form 
     //run extra actions after showing the message here 
     if(response.gateway != null){ 
      $(document).trigger('em_booking_gateway_add_'+response.gateway, [response]); 
     } 
     if(!response.result && typeof Recaptcha != 'undefined'){ 
      Recaptcha.reload(); 
     } 
    }, 
    complete : function(){ 
     em_booking_doing_ajax = false; 
     $('#em-loading').remove(); 
    } 
}); 
return false; 
}); 
+0

「404. PAGE NOT FOUND」。 – j08691

回答

2

你的形式似乎如果你設置了更好的工作數據類型爲json而不是jsonp

通常,當您需要對另一個域進行AJAX查詢時,您將使用jsonp,而您在此實例中未執行此操作。

+0

你好!如果我可以的話,我會給你+100) – Naim