2015-01-07 70 views
0

我太小白,一直與PHP和JS工作像4個月,對不起,如果IM做一個小白的問題,另外,我是一個西班牙語的人,對不起,英語語法失敗,你要讀= [在此通過AJAX發送多個變量

基本上,這是我的問題: 在此PHP文件我有一些瓦爾和VarArrays,我需要把它們發送到另一個

//First PHP File - This one Search on DataBase, at the end, i have 5 vars, 2 of them are arrays 
<?php 
$var1 = '1'; 
$var2 = '2'; 
$var3 = '3'; 

$arr1 = array(); 
$arr2 = array(); 

//¿How to json_encode the 5 vars above?// 
?> 

在這其中,我需要趕上previus值

//Second PHP File 
<?php 
$newVar1 = $_POST['var1']; 
$newVar2 = $_POST['var2']; 
$newVar3 = $_POST['var3']; 

$newArr1 = $_POST['arr1']; 
$newArr2 = $_POST['arr2']; 
?> 

我認爲我必須做這樣的事情,但我應該怎麼做?:

$.ajax({ 
     type: "POST", 
     url: "php/FIRSTFILE.php", 
     data: ????, 
     dataType: "json", 
     success: 
       function(respuesta) 
       { 
        $('#MainDiv').load('php/SECONDFILE.php', function(data) { 
         $(this).html(data); 
        }); 
        $('#MainDivLabelVar1').val(respuesta.¿¿EncodeStuff??); 
       } 
}); 
+0

如何代碼在php文件'php/CATBuscar.php'中發回數據?請注意,您需要回顯JSON項目。 –

+0

您發送的變量與php文件中的內容不匹配。 – epascarello

+0

1.您無法將值從PHP發送到PHP(除非直接使用'curl'或類似的函數)。我認爲你正在渲染一個PHP頁面,並通過普通的POST請求或AJAX進展到另一個頁面? 2.我們可以通過'id'和'CAT'參數看到'php/CATBuscar.php'的輸出嗎?您可以從瀏覽器的開發人員工具的網絡面板獲取它。 – Amadan

回答

0

在這一行,你在POST到PHP文件發送值:

data: {id: id, CAT: CAT}, 

所以,如果您需要收到這樣的數據(文件「second.php」)

<?php 
    $newVar1 = $_POST['var1']; 
    $newVar2 = $_POST['var2']; 
?> 

將在本次發送:

$.ajax({ 
     type: "POST", 
     url: "php/second.php", 
     data: {var1: 'value1', var2: 'value2'} 
}); 
+0

也許我不應該添加JavaScript部分,是不是PHP代碼的一部分,我知道,我不知道是爲什麼AJAX與數據類型「JSON」屬性附加傷害它返回「的翻譯:」作爲錯誤 但真正的真正的問題,是發送多個變量,其中一些是數組。如何json_encode 5個變量? – Kaba

+1

要json_encode您的5個變量,您需要使用5個變量創建1個數組。所以它應該看起來像json_encode(array('1','2','3',array(),array())) – 3Letters

1

也許你可以編碼這樣

json_encode(array(
     'var1' => '1', 
     'var2' => '2', 
     'var3' => '3', 
     'arr1' =>  array(), 
     'arr2' =>  array() 
     )); 
+0

然後json_decode是否正確,但如何將它們分開? – Kaba

0

你的數據,你可以deocde的JSON字符串對象或數組

$js_array = json_encode(array(
     'var1' => '1', 
     'var2' => '2', 
     'var3' => '3', 
     'arr1' =>  array('a' => 'mobile', 'b' => 'PC'), 
     'arr2' =>  array('price' => 600, 'day' => 7) 
     )); 

$decode = json_decode($js_array, true); //decode into array 

//you could use or seperate something you get back from json decode like this 
foreach($decode as $key => $value) { 
    if(is_array($value)) { 
     foreach ($value as $k => $v) { 
      echo "$k => $v <br />"; 
     } 
    } else { 
     echo "$key: $value <br />";  
    } 
} 

和輸出:

var1: 1 
var2: 2 
var3: 3 
a: mobile 
b: PC 
price: 600 
day: 7