我正在发出一个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 变量值放在任何全局变量中。 我能做些什么来实现这一目标? 请指导我。提前谢谢。
答案 0 :(得分:1)
您可以在Success函数中使用info_type变量。参数info_type的范围仍存在于您的成功函数中。
答案 1 :(得分:1)
您可以直接使用变量成功或错误功能。
function check(inf_type) {
$.ajax({
type: 'POST',
url: "get_info.php",
data: { "sequence_no" : 1 },
success: function(data) {
alert(inf_type); //inf_type is available here.
},
dataType: 'text'
});
}
答案 2 :(得分:1)
您可以通过inf_type
功能的check()
参数访问它:
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'
});
}
这之所以有效,是因为内部函数(成功回调)可以访问外部函数(check)中的变量。有关详细信息,请参阅此答案:https://stackoverflow.com/a/111200/69868
修改强>
这假设inf_type是check()
每次调用中的一个数字或一个新的(不同的)对象实例。细节在上面提到的链接中解释。
答案 3 :(得分:0)
首先,您必须将 inf_type 发送到服务器,以便返回特定值,如下所示:
function check(inf_type) {
$.ajax({
type: 'POST',
url: "get_info.php",
data: { "sequence_no" : 1, whatToSearch : inf_type }, // i added
success: function(data) {
//$(selector).html(data);//where you want to show the data
// how can i use value of variable "inf_type" here.
// here, the variable "data" contains HTML code.
},
dataType: 'text'
});
}