如何将全局变量值获取到 ajax
How to get global variable value to ajax
我正在尝试获取ajax,jquery函数中的全局变量值。
在这里我正在使用这段代码。
法典:
<script type="text/javascript">
var id;
function refreshRecord(id)
{
alert(id);
}
$(document).ready(function(){
$("#refresh").click(function(){
var fileId=id;
alert("id is"+fileId);
$.ajax({
type:"post",
url:"checkStatusAndNumRecs",
data: {fileId:fileId},
success:function(data){$("#div1").html(data);},
error:function(data){$("#div1").html("It was a failure !!!");}
});
});
});
</script>
点击一个提交按钮,我正在调用javascript函数
<input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)">
这里我想得到的是,我已经在脚本标签中声明了全局变量 id,当我单击单选按钮时,onClick 事件使用一个参数"id"调用 JavaScript 函数 refreshRecord(id)
现在,该 ID 值将设置为某个值。 现在我想在 jquery 函数中获取该变量值,我想将其分配给
var fileId = id;
但是当我执行上述代码并单击按钮时。
在警报中,它正确显示第一个值(即来自JavaScript的警报正确到达),但来自ajax,jquery的警报即将到来是未定义的或[对象对象]
我该如何解决这个问题??
您需要将
传递给函数的值分配给全局变量 id
。当前您未分配它。函数的参数id
只是函数的局部,不是同一个全局变量,全局变量id
还是undefined
。
只需修改如下,
var id;
function refreshRecord(value)
{
id = value;
alert(id);
}
您应该将字段中的值放在全局变量中:
var id;
function refreshRecord(inputValue)
{
id = inputValue;
alert(id);
}
因为如果你这样做:
function refreshRecord(id)
{
alert(id);
}
由于函数作用域内的名称冲突,在 RefreshRecord 函数中无法访问 id 全局变量。请阅读范围以了解:
http://robertnyman.com/2008/10/09/explaining-javascript-scope-and-closures/
我们在函数内部传递的参数充当该函数的局部变量。因此,在您的函数中,您实际上是在创建一个局部变量并设置值。
试试这个——
var id;
function refreshRecord() {
id = $("input:radio").val();
}
给出一个id,以便为单选按钮提供更好的选择器。
相关文章:
- 获取ajax加载的图像的大小
- 在foreach中获取ajax结果
- 获取ajax请求的请求头
- 使用Pebble.js获取AJAX请求时出错
- 如何在使用 DATATABLES 发送到模板之前获取 AJAX 响应
- 获取 ajax 创建的复选框的值
- 是否可以在其他文件中获取 AJAX 成功变量的值
- 获取AJAX中未定义的值(x),web api
- 无法获取 AJAX 响应
- 如何获取ajax调用返回的元素数
- 可以't获取ajax请求jquery,什么也没发生
- 如何从成功中获取 ajax 响应并使用 jQuery 将其分配给变量中
- 可以't获取AJAX发送的phpPOST
- 如何用纯javascript获取ajax请求的ContentType
- 使用PHP获取AJAX或js操作后的文档源
- Flexigrid正在获取ajax响应
- 获取ajax post请求中传递的参数
- 获取 ajax 在 laravel 中发布数据
- 无法获取 AJAX 表单来提交 MySQL 数据
- 获取 ajax 发布请求的用户输入