2012-05-10 52 views
0

我有一個搜索框:使用JQuery .Ajax傳遞2組數據?

<input class="box" name="search" type="text" id="search_input" /> 

而一個json_encode陣列稱爲$findall。使用jQuery $.ajax()我希望能夠通過數據字段從輸入中傳遞數組和「關鍵字」。下面的代碼已設定關鍵字從SEARCH_INPUT作爲可變dataString

$.ajax({ 
       type: "GET", 
       url: "core/functions/searchdata.php", 
       data: dataString, 
     //data:{availableDevicesArray : availableDevices }, 
       beforeSend: function() { 
        $('input#search_input').addClass('loading'); 
       }, 
       success: function(server_response) { 
        $('#searchresultdata').append(server_response); 
        $('span#category_title').html(search_input); 
       } 

我可以通過任一dataString或陣列,但不能同時,我需要。它們怎麼可能通過它們?

UPDATE:

我的PHP獲取數組是:

mysql_select_db($database_database_connection, $database_connection); 
$query = "SELECT * FROM Device_tbl"; 
$result=mysql_query($query, $database_connection) or die(mysql_error()); 
$findall = array(); 
while($row = mysql_fetch_array($result)){ 

    $findall[] = $row; 
} 

,我存儲availbleDevices陣列像這樣:

var availableDevices = <? echo json_encode($findall); ?>; 
+0

你的數組是怎樣的? – VisioN

+2

當然,如果數據格式正確,你可以執行'data:{data:dataString,availableDevices:availableDevices}'。 jQuery負責編碼它們。 –

+0

我試過了,它傳遞的數組很好,只是不是字符串。我正在使用**數據:{字符串:dataString **雖然 – K20GH

回答

2

您可以創建一個對象,並推動這些變量作爲其屬性:

data: { 
    'string' : 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 
    'array' : [ 'one', 'two', 'three' ] 
} 
+0

謝謝。我可以使用字符串和數組的變量嗎?我試過'string':dataString,'array':{availableDevicesArray:availableDevices} – K20GH

+1

@ K20GH這樣你就必須這樣做:''string':dataString,'array':availableDevices'或''string': dataString,'availableDevicesArray':availableDevices'。 – shadyyx

+0

謝謝。我假設我輸出正確然後:'$ myArray = $ _REQUEST ['availableDevicesArray']; echo json_encode($ myArray);' – K20GH