我有一个简单的脚本可以将PHP session
用户ID转换为javascript文件。然而,当我尝试仅提醒用户ID时,它会显示undefined
?
如代码所示,我尝试使用简单的警报来检查从脚本返回的数据,这是正确的。
var user_id;
$.get( "/ajax/actions/getUserId.php", function( data ) {
// alert(data); <-- this works correctly
var user_id = data;
});
alert(user_id);
有更好的方法吗?
访问的PHP文件(getUserId.php)只是:
session_start();
echo $_SESSION[user_id];
答案 0 :(得分:2)
您应该使用:
$.get( "/ajax/actions/getUserId.php", function( data ) {
var user_id = data;
alert(user_id);
});
默认情况下,Ajax是异步。
在您的代码段中,代码会执行以下步骤:
user_id
的变量GET
/ajax/actions/getUserId.php
ajax请求
user_id
的值undefined
(默认情况下,您没有为其设置任何值)。user_id
的新变量答案 1 :(得分:2)
Ajax是异步的,因此最后一个警报将在调用ajax的回调函数之前执行。