我在我的服務器中有一個xml文件,我想用php提取一個ID列表,然後使用json_encode()
將該數組轉換爲JSON,並將它放在一個$_SESSION
變量中,以使這個清晰我的理想JS功能是:與json數組的SESSION變量
function getIDs() {
var x = <?php if(isset($_SESSION['IDs'])) echo $_SESSION['IDs']; ?>;
if(x == '') {
$.post('getPL.php','PL_name=cool&q=IDs',function(responseText){
x = responseText;
});
}
//some other code
//return array; // this is an array i use later in js
}
我getPL.php
我有:
$videos_list = $theOne->parentNode->parentNode->getElementsByTagName('video');
for ($i = 0; $i < $videos_list->length; $i++) {
$a = $videos_list->item($i);
$id_out = $a->getElementsByTagName('id')->item(0)->nodeValue;
$array[$i] = $id_out;
}
$IDs = json_encode($array);
$_SESSION['IDs'] = $IDs;
echo $IDs;
break;
如果我提醒var x = <?php if(isset($_SESSION['IDs'])) echo $_SESSION['IDs']; ?>;
我得到g8M8kxuaCWk,VWrBFt46J18
但是當我提醒responseText的我得到["g8M8kxuaCWk","VWrBFt46J18"]
所有我想要的是從XML文件中提取的ID,並把它們放到一個JS數組對象
,如果有什麼需要更多的告訴我
你可以發佈'console.log(x)'和'console.log(responseText)'而不是'alert()'的結果嗎? – jeroen 2014-08-29 14:21:13
@ jeroen從來沒有我修復它檢查我的答案 – Fanckush 2014-08-29 14:22:00
是的,我錯了,'alert()'結果把我扔了...奇怪,雖然jQuery沒有解析從你的ajax請求自動返回json。您也可以手動設置,至少在使用'$ .ajax()'時。 – jeroen 2014-08-29 14:24:18