我有一个使用jQuery ajax调用的PHP页面。
在我执行AJAX并返回成功值后,我需要使用此值从PHP数组中提取项目,存储在会话中并使用新集合更新我的SPAN。
这是我到目前为止所得到的。我测试过,我确实返回了正确的数据值。我想我在jQuery中的语法是关闭的,因为我的原始跨度淡出,但没有任何回来。
JS:
$.ajax({
...
},
success: function(data){
var nextItem = <?php echo $_SESSION['items'][data]->desc; ?>
$('.x').fadeOut();
$('.x').attr(id, data);
$('.x').text(nextItem).fadeIn();
});
HTML:
<span id="'.$_SESSION['items'][0]->id.'" class="x">'.$_SESSION['items'][0]->desc.'</span>
答案 0 :(得分:1)
您应该在AJAX调用中返回会话变量。执行PHP代码以获取您的AJAX调用正在访问的URL上的会话变量。 AJAX调用的响应(在本例中是成功函数中的'data'变量)将是以下结果:
<?php echo $_SESSION['items'][data]->desc; ?>
因此,您的JS中不会有PHP代码。
如果需要返回多个值,则可以考虑使用JSON。您的AJAX处理页面可能类似于:
$result = array('id' => $id, 'session' => $_SESSION['items'][$id]->desc);
echo json_encode($result);
您的JS可能如下所示:
$("#getJSON").click(function() {
$.ajax({
...
success: function(data) {
$obj = $.parseJSON(data);
console.log($obj[0].id, $obj[0].session);
}
});
});