2015-03-03 54 views
0

我有一個窗體,在用jQuery UI創建的對話框中。我試圖發送表單到一個jquery.ajax()請求的PHP控制器,但我想要處理的請求,如果它從php頁面submited並執行控制器(不僅得到與AJAX響應)。使用jquery .ajax()提交與post方法

之所以會這樣,是因爲我想在請求中添加adination數據,而不是在表單本身中,而且我似乎更容易將它添加到jquery中。

這是形式:

<form action=""> 
    <fieldset> 
     <div class="form-group"> 
      <label id="name">Soci:</label> 
      <p id="soci_data"></p> 
     </div> 

     <div class="form-group"> 
      <label id="month">Mes:</label> 
      <p id="mes_data"></p> 
     </div> 

     <div id="dropdown_payed"class="form-group"> 
       <select id="selectbasic" name="selectbasic" class="input-small"> 
       <option>payed</option> 
       <option>not payed</option> 
       </select> 
     </div> 

     <div class="form-group"> 
      <input type="submit" value="Update"> 
     </div> 
    </fieldset> 
</form> 

唯一的表單字段我想提出的是下拉菜單。

這是.ajax()要求:

$("form").submit(function(){ 
    $.ajax({ 
    type:"POST", 
    url:"update.php", 
    data:{ 
     id_month:idmonth, 
     id_name:idname, 
     payed: $("#dropdown_payed").val(); 
     } 
    success:function(data){ 
     // To do when the request succeded 
    } 
}); 

控制器update.php現在只打印在請求中傳遞的信息,看是否拿到我與期待的數據:

print_r($_POST); 
+0

>我想要處理的請求,如果它是從php頁面submited並執行控制器不僅得到與AJAX響應。沒有得到它。你能澄清一下嗎? – 2015-03-03 12:46:15

+0

@FernandoCarvalhosa我不知道如何解釋它。我的意思是,如果它是由一個帶有這個propertys的按鈕提供而沒有任何javascript:''form action =「update.php」method =「post」>

+0

您可以從相同的數據服務器通過ajax或正常請求,差異將會在客戶端處理響應。如果您提交了一個'

',客戶端會將您重定向到該頁面並呈現來自update.php控制器的響應。那就是你想要發生的事情? – 2015-03-03 12:53:53

回答

1

您可以在表單中使用<input type="hidden">並提交未向用戶顯示的額外數據。這對你有用嗎?