我在我的服务器中有一个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