我正在发出 jquery post 请求以从服务器获取部分 html 代码。服务器上有一个文件 get_info.php 可以打印不同需求的 html 代码。我使用以下代码来执行此操作:
function check(inf_type) {
$.ajax({
type: 'POST',
url: "get_info.php",
data: { "sequence_no" : 1 },
success: function(data) {
// how can i use value of variable "inf_type" here.
// here, the variable "data" contains HTML code.
},
dataType: 'text'
});
}
函数 check() 接受一个参数 inf_type,其中包含随机字符串,服务器根据该随机字符串识别要打印的 html 代码。现在,我想根据这个 inf_type 处理 POST 响应。 如何在 POST 响应函数中访问 inf_type 变量的值?函数 check() 被更频繁地调用,这就是为什么我不能将 inf_type 变量值放入任何全局变量中。 我可以做什么来实现这一目标? 请指导我。提前致谢。
最佳答案
您可以通过 check()
函数的 inf_type
参数访问它:
function check(inf_type) {
$.ajax({
type: 'POST',
url: "get_info.php",
data: { "sequence_no" : 1 },
success: function(data) {
if (inf_type == 0) {
// do something with data
} else {
// do something else
}
},
dataType: 'text'
});
}
之所以有效,是因为内部函数(成功回调)可以访问外部函数(检查)中的变量。有关更多详细信息,请参阅此答案:https://stackoverflow.com/a/111200/69868
编辑
假设每次调用 check()
时 inf_type 是一个数字或一个新的(不同的)对象实例。详细信息在上面提到的链接中有解释。
关于javascript - 如何在响应后访问 js 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10748777/