2012-11-15 165 views
0

我有一些json需要通過ajax傳遞給另一個php文件。通過AJAX傳遞JSON到PHP文件

{ 
"id":"5", 
"itemName":"Infinity", 
"itemDesc":"Infinity", 
"imageURL":"Infinity.jpg", 
"language":"N\/A", 
"category":"Logos", 
"size":"612 KB", 
"flagDesc":"", 
"fileType":"jpg" 
} 

這裏是我的ajax

$.ajax({ 
    url:'download.php', 
    data: { 
    image: z, 
}, 
    success:function(results){ 
    alert(results); 
} 
}); 

Z表示上面的JSON。傳遞數據時我不確定要放什麼。我一直在前後走,沒有運氣。

+0

是z上面的數據 –

+0

是的,它是上面的json。 – wowzuzz

回答

2

這裏是這樣的:

$.ajax({ 
    type: 'POST', 
    url:'download.php', 
    data: { image: JSON.stringify(z) }, 
    success:function(results){ 
     alert(results); 
    } 
}); 

而在你的download.php,您可以訪問此數據作爲

$data = json_decode($_POST['image']); 
+0

好的,我看到了我的警報中的數據,但是stringify能做什麼? – wowzuzz

+0

它只是把它變成一個字符串..我明白了。 – wowzuzz

+0

'JSON.stringify(input)'將輸入轉換爲字符串,以便能夠通過網絡傳遞該字符串。當服務器(你的案例中的php)收到這個字符串時,只需調用json_decode($ _ POST ['image'])將其轉換回json(php中的關聯數組或stdClass)。 –

1

如果z是所有要通過,我會做:

$.ajax({ 
    url:'download.php', 
    data: z, 
    success:function(results){ 
    alert(results); 
    } 
}); 

在PHP中,你可以這樣做:$image = json_encode($_GET);如果你需要你r數據是json。

+0

但是,他想用'image'關鍵字傳遞數據。 –

+0

@TolgaAkyüz我假設OP可以控制後端以及它在同一臺服務器上。所以這個名字並不重要。 – jeroen

+0

請勿將GET用於任意長的數據。它很可能被瀏覽器和/或服務器切斷並完全破壞數據。 –