2013-07-27 67 views
0

我會總之我有這個功能的jQuery。員額()將作爲獲得()

$("#JqPostForm").submit(function(e){  
    e.preventDefault(); 
    $("#despliegaresultados").empty(); 
    $("#paginacion").empty(); 
    $.post("php/prueba.php", $('#JqPostForm').serialize(), 

    function(data) 
    { 
     $.each(data, function(i, item) 
     { 
      total= item.total; 
      datos = item.datos; 
     }); 

     //is doing something here 

    }); 
}, "json"); 

與這個網站

<html> 
..... 
    <form> 
     <input type="text" name="nombre"> 
     <input type="submit"> 
    </form> 
...... 
</html> 

和以及它工作正常,發送和接收用json格式發佈數據,我的問題是當我嘗試將表單保存在不同的html中,然後通過按鈕或其他東西檢索它時,我的調用是使用「GET」參數完成的,我不知道爲什麼。

我已經閱讀了從jquery doc的​​,也從這個網站很多帖子,但我似乎沒有找到任何信息,我也想提及,我知道.load默認情況下獲取,我發送一些參數使其後,我這是怎麼從外部存檔獲取表單

$('#target').load('php/searchForm.html',{algo:'algo'}); 

那麼現在我的形式裝上我的HTML,但是當我提交我的電話變爲「GET」。 PD。請原諒我的英語我不是美國人,也不是英語謝謝。

+0

語法錯誤,$ .post關閉兩次?正確縮進你的代碼。 – adeneo

+0

對不起,它已關閉兩次,因爲我刪除了一些代碼,使我的帖子更短,但在我的真實文件中沒有關閉兩次 – user2624819

回答

0

得到的是默認的方式發送的形式,和你的方式可能就是提交的常規方式,而不是用JavaScript作爲有語法錯誤,如果表單動態插入你需要委派的事件處理程序:

$('#target').on('submit', '#JqPostForm', function (e) { 
    e.preventDefault(); 
    $("#despliegaresultados, #paginacion").empty(); 
    $.post("php/prueba.php", $('#JqPostForm').serialize(), function (data) { 
     $.each(data, function (i, item) { 

      // NOTE: Ajax is async, the below values are only accessible 
      //  after the ajax call has completed 

      var total = item.total, 
       datos = item.datos; 
     }); 
    }, "json"); 
}); 
+0

謝謝我做了這個和代碼狙擊手我得到這個迴應請求URL:http:// localhost/ambarnew/ 請求方法:POST 狀態碼:200 OK 我認爲在請求url是missin prueba.php,但我不知道爲什麼.... – user2624819

+0

我認爲它與Content-Type:application/x-www有關-form-urlencoded – user2624819

+0

不知道是什麼問題,我擁有的是你發佈的代碼,這應該解決任何與該代碼有關的問題,據我所知。 – adeneo

0

你忘了提及

​​
+0

泰克你的答案我添加了方法後,現在它是後,但似乎不打電話給頁面是我得到 請求URL:http:// localhost/ambarnew/ 請求方法:POST 狀態代碼:200行 – user2624819

+0

我認爲它必須處理這個... Content-Type:application/x-www-form -urlencoded – user2624819