繁体   English   中英

如何将值从JQuery $ .post保存到Javascript全局变量

[英]How to save value from JQuery $.post to a Javascript Global Variable

我正在使用Javascript和JQuery。

我有以下变量var RoleID=""; 并且我将其放置在所有功能之外。

我有一个功能

role_submit(){
var role=$('#emp_role').val();
var url="submitrole.php";
$.post(url, {role2: role} ,function(data){
var RoleID=data;
alert(RoleID);
})
}

此函数获取<input type="text" id="emp_role">并使用JQuery $.post提交到url='submitrole.php'并从url='submitrole.php'中获取ID 。返回值,该值将保存在RoleID并在之后RoleID 使用<button onclick="role_submit();" type="submit">Submit</button>执行所有操作 <button onclick="role_submit();" type="submit">Submit</button>并可以正常工作,这意味着应该来自url='submitrole.php'ID会准确到来,并且也会得到准确提醒。

var RoleID var RoleID

function alert_roleID(){alert(RoleID);}

我使用

<button onclick="alert_roleID();" type="submit" >Role ID</button>

这次警报弹出,除了显示我从url='submitrole.php'取回的ID之外,什么都没有显示。 如何从url='submitrole.php'获取全局变量RoleID的值?

有两种方法。

将变量明确设置为窗口。 Window是全局范围。

function role_submit(){
  var role=$('#emp_role').val();
  var url="submitrole.php";
  $.post(url, {role2: role} ,function(data){
    window.RoleID=data;
    alert(RoleID);
  })
}

或在全局范围内定义变量。 如果以这种方式进行操作,请确保在重新定义它时不使用var 如果使用var它将使新变量仅在该范围(函数)中可见。

var RoleID;
function role_submit(){
  var role=$('#emp_role').val();
  var url="submitrole.php";
  $.post(url, {role2: role} ,function(data){
    RoleID=data;
    alert(RoleID);
  })
}

一旦在外部声明了变量,就不应在函数内部再次使用'var',因为这将重新创建局部范围的变量,而不是全局范围的变量,并且在函数外部不可访问。 因此,您可以按以下方式删除“ var”,

var RoleID = '';

role_submit(){
var role=$('#emp_role').val();
var url="submitrole.php";
$.post(url, {role2: role} ,function(data){
   RoleID=data;
alert(RoleID);
})
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM