2012-11-13 46 views
0

我通常通過。員額()這樣的數據傳遞:傳遞數據

$.post(
    "/ajax.php", 
    $("#form").serialize(), 
    function(responseJSON) { 
     console.log(responseJSON); 
    }, 
    "html" 
); 

在我的形式"#form"我通常有一個名爲「身份證」,它擁有一個隱藏的輸入一個值給我想運行查詢的項目的id。

我想要做的是取出隱藏的輸入,並在我的提交按鈕中添加data-id="$id"屬性,並讓jQuery函數從那裏提取數據並將其與其他#form字段一起發送。

簡而言之,我要問的是,如何將$('#form').serialize()$('#button').data('id')一起傳遞到我的後端全部在一個$.post()函數中?

回答

1

試試這個

var data = $("#form").serialize() + '&data-id=' + $('#button').data('id'); 
$.post(
    "/ajax.php", 
    data, 
    function(responseJSON) { 
     console.log(responseJSON); 
    }, 
    "html" 
); 
1

.serialize()僅僅是創建與數據的字符串。你只需要追加&<variable>=<value>到最後。

0

,你可以嘗試,它是自動爲您,您不必擔心內部工作庫,使用http://phery-php-ajax.net/

Phery::instance()->set(array(
    'function' => function($data){ 
     // $data['id'] = the hidden in your form 
     return PheryResponse::factory()->json($your_array_that_will_be_turned_to_json); 
    } 
))->process(); 
<form data-remote="function" method="POST"> 
    <input type="hidden" name="id"> 
</form> 

在JavaScript,你可以處理JSON

$(function(){ 
    $('form').bind('phery:json', function(event, json_data){ 
    // deal with your json_data 
    } 
});