2014-09-30 78 views
1

我試圖將一些值傳入session.php。將值傳入session.php

以下是我的代碼。 type_oq是一個下拉菜單。如果下拉選項等於「水果」,我想保存某些值。

問題:不知道是什麼問題。沒有顯示錯誤。 php文件路徑是準確的。按鈕點擊工程。我的猜測是if條件中可能存在語法錯誤?

$('#goBtn').click(function(){ 
    alert("done!"); 
    $.post('sessions.php', 
     { 
     if ($('#type_oq').val() == "fruit") { 
      a:$('#a_oq').val(), 
      b:$('#b_oq').val(), 
     } 
     from:$('#from_oq').val(), 
     to:$('#to_oq').val(), 
     radioG:$('#radioGroup').val() 
     } , 

     function(response) { 
     $('#postrequest').html(response); 
     }); 
    }); 
+2

我個人從未見過以這種方式執行的ajax請求。然而,我不認爲你可以使用一個if運算符進入$ .post – briosheje 2014-09-30 07:59:47

+0

@briosheje:謝謝。你將如何去取決於下拉值傳遞值? – Fergoso 2014-09-30 08:01:28

+1

我會先檢查這些值,將它們放入一些變量中,然後執行請求,讓我試試下面的答案:) – briosheje 2014-09-30 08:02:09

回答

1

我會創建data對象$post外面,然後只把它作爲一個變量:

$('#goBtn').click(function(){ 
    alert("done!"); 
    var data = { 
     from:$('#from_oq').val(), 
     to:$('#to_oq').val(), 
     radioG:$('#radioGroup').val(), 
     // If a and b are required then create them here with empty values. 
     a: "", 
     b: "" 
    }; 
    if ($('#type_oq').val() == "fruit") { 
     data.a = $('#a_oq').val(); 
     data.b = $('#b_oq').val(); 
    }; 

    $.post('sessions.php', data, function(response) { 
     $('#postrequest').html(response); 
    }); 
    }); 

只是要格外清楚,事實證明,你不能使用的內部條件對象創建,例如這是行不通的:

var data = { 
    if (true) { 
    a:"a", 
    } 
    b: "b" 
}; 
+0

即將發佈類似的內容。但是,由於我們不知道sessions.php是如何的,我們可能最終必須在任何情況下設置a和b。 – briosheje 2014-09-30 08:08:21

+0

你說得對。如果他們需要,他們應該從一開始就添加一些默認值。 – Niklas 2014-09-30 08:14:48