2012-06-06 60 views
-1

我有這個在JavaScript中,a.php只會 -從JavaScript調用PHP函數返回一個數組

function gettemplate(realnam) { 

警報(realnam) }

我想通過所有A []數組func_a.php到第一個文件a.php ..在javascript中使用數組。 我該怎麼做? 非常感謝

編輯 - 它的作品!如果有人需要的 -

$a= json_encode($a); 
    echo "<SCRIPT LANGUAGE='javascript'> gettemplate('$a');</SCRIPT>\n"; 

:)

+1

的(HTTP [轉PHP和JavaScript之間的數組的最佳方法]可能重複:// stackoverflow.com/questions/393479/best-way-to-transfer-an-array-between-php-and-javascript)以及其他幾個... –

+0

爲什麼你想要它作爲一個數組? Javascript期待一個html片段。 – symcbean

回答

0

可以返回(迴音)在func_a.php一個JSON字符串http://de.php.net/manual/en/function.json-encode.php並解析它在JavaScript

echo json_encode($a); 
+0

謝謝!作品! –

+0

是否可以這樣做:'var txt = <?php echo json_encode($ this-> check()); ?>;'其中'check()'是同一個文件中的PHP函數,它返回一個數組。嘗試過,但現在工作。 –

0

您需要序列化和解析數組,XMLHttpRequest的只能包含XML或原始文本。選擇的格式是JSON,它受到廣泛支持,包括PHP和JavaScript。

Serverside你將使用json_encode。不要忘記使用有效的MIME類型來提供JSON。您還應該將錯誤消息編碼爲有效的JSON。

客戶端,即在回調函數中,您將在xmlhttp.responseText上使用JSON.parse。

你也可以在網上找到很多有關這方面的信息,你只需要搜索。

0

閱讀JSON格外json_encode。 func_a.php必須返回是這樣的:

header('Content-type: application/json'); 
echo json_encode($a); 

要獲取對象在JavaScript中使用這樣的:

var myResponseObject = JSON.parse(xmlhttp.responseText);