2014-09-10 46 views
0

我想發佈使用AJAX的值,我不能這樣做,watever可能是投擲失敗。無法發佈使用AJAX的表格

$("#displayInfo").hide(); 
    var csrfToken = document.getElementById("csrf").value; 
    var csrfName = document.getElementById("csrf").getAttribute("name"); 
    var postfrmdata = $('#'+formid).serialize(); 
    var returnData= $.ajax({ 
     url: "ReportsSearchResults", 
     type: "POST", 
     data: postfrmdata, 
     dataType: "json", 
     beforeSend: function(xhr) { 
      xhr.setRequestHeader(csrfName, csrfToken); 
     } 
    }); 
    returnData.done(function(res) { 
    alert("Pass"+res); 
}); 
returnData.fail(function(data) { 
alert("fail"+data); 
}); 
return false; 

請告訴它之所以沒有得到提交

+1

我認爲你的網址存在問題,它是正確的嗎? – Youness 2014-09-10 14:08:49

+1

你爲什麼在jQuery中使用純DOM? – Scimonster 2014-09-10 14:09:21

+0

ajax調用失敗時的返回碼是什麼?是404還是別的? – 2014-09-10 14:10:39

回答

0

你就錯了。我認爲這是你在找什麼(未測試):

//If the form is submitted 
$('form').submit(function(e) { 
    e.prevenDefault(); 
    $form = $(this); //Get this form 

    //Post ajax request 
    $.ajax({ 
     url: $form.attr('action'), //Get action attribute of the form 
     type: "POST", 
     data: $form.serialize(), //Serialize the form 
     dataType: "json", 
     .done(function() { //or success: function() { 
       alert("success"); 
     }) 
     .fail(function() { //or error: function() { 
       alert("error"); 
     }) 
     .always(function() { //or beforeSend: function() { 
       alert("complete"); 
     }); 
    }); 
}); 

和尖端:使用Firebug(Firefox插件/擴展),以測試這是怎麼回事的背景。它的工作很棒。