如何在加载页面后重新填充一个变量
问题描述:
这个函数,ajax ......每件事情都很好。
当我想重新加载$用户时,它返回相同的$用户
加载ajax重新加载$用户新数据后有什么办法吗?如何在加载页面后重新填充一个变量
控制器
function list_of_users_by_skills($project_ids){
$project_id = json_decode($project_ids);
/* Generate Users by Skills
* By Isaac
*/
$this->loadModel('Training');
//Get list of users by skills
$users_return = $this->Training->find('all', array('conditions' => array('Training.Project_id' => $project_id)));
//some code here to return the $users :)
asort($users);
$this->set('users', $users);
}
查看
var page = 'http://localhost/index.php/shifts/list_of_users_by_skills/[176,196]/';
console.log(page);
$.ajax({
url: page,
success: function(data) {
<?php echo "var user_array = [" . json_encode($users) . "];\n"; ?>
console.log(user_array);
console.log(<?php echo json_encode($users); ?>);
}
});
答
你硬编码的用户变量在JavaScript:
<?php echo "var user_array = [" . json_encode($users) . "];\n"; ?>
这仅会被填满,在初始页面请求。
你需要确保你正在使用AJAX调用脚本,返回实际的用户列表,并使用:
喜欢的东西:
$.ajax({
url: page,
dataType: "json",
success: function(data) {
var user_array = data;
console.log(user_array);
}
});
和你page
脚本应该这样做这在最后:
echo json_encode($users);
答
你推的更迭回调相同user_array ...
你应该函数之前声明var和覆盖VAR功能{
var page = 'http://localhost/index.php/shifts/list_of_users_by_skills/[176,196]/';
var users = [<?php echo json_encode($users); // or make in an array so json_encode is sufficient ?>];
$.ajax({
url: page,
success: function(data) {
users = data.users;
}
});
你是网关(PHP的一面)会返回一个数组(或对象)与一个关键'用户'=>数组(用户1,用户2等);
Yeyyyy !!!!!!谢谢一些。我之前打印了一些HTML标签,以便为其他事情进行回顾。它像魅力一样工作。 ;) – Fury 2013-02-13 16:25:33
@Vahid Rajaei好听:-) – jeroen 2013-02-13 16:26:25