Javascript 如何在post响应中访问js值?
我正在发出jquery post请求,以从服务器获取html代码的一部分。服务器get_info.php上有一个文件,用于打印不同需求的html代码。我正在使用以下代码执行此操作:Javascript 如何在post响应中访问js值?,javascript,jquery,Javascript,Jquery,我正在发出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)
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\u type,该参数包含随机字符串,服务器根据该字符串识别要打印的html代码。现在,我想根据这个inf\u类型处理POST响应。
如何在POST响应函数中访问inf\u type变量的值?函数check()的调用频率更高,这就是为什么我不能将inf\u type变量值放入任何全局变量中的原因。
我能做些什么来实现这一目标?
请引导我。提前感谢。您可以在Success函数中使用info\u type变量。参数info\u type的范围仍存在于success函数中。您可以在success函数中使用info\u 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'
});
}
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'
});
}
首先,您必须将inf\u 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'
});
}
您可以在success或error函数中直接使用该变量
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'
});
}
您可以在success或error函数中直接使用该变量
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'
});
}
您可以通过
check()
函数的inf\u 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'
});
}
之所以这样做是因为内部函数(成功回调)可以访问外部函数(check)中的变量。有关更多详细信息,请参阅此答案:
编辑
这假设inf_类型是一个数字,或者是每次调用
check()
时对象的一个新(不同)实例。有关详细信息,请参见上述链接。您可以通过check()
函数的inf\u 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'
});
}
之所以这样做是因为内部函数(成功回调)可以访问外部函数(check)中的变量。有关更多详细信息,请参阅此答案:
编辑
这假设inf_类型是一个数字,或者是每次调用
check()
时对象的一个新(不同)实例。详细信息在上面提到的链接中进行了解释。inf\u类型不是全局变量,check()函数在一秒钟内被调用2次,使用2个不同的inf\u类型值。在这种情况下,请求和值不应该混合。不,它不会混合。对于每个函数调用,信息类型将有自己的实例值。您可以使用。inf\u type不是全局变量,并且check()函数在一秒钟内被调用2次,使用2个不同的inf\u type值。在这种情况下,请求和值不应该混合。不,它不会混合。对于每个函数调用,信息类型将有自己的实例值。你可以使用“闭包是穷人的东西”。了解闭包
。我是说用javascript。与您的问题无关,但为什么要发出POST
请求以获取HTML响应?@NikhilPatil:这只是一个文件名。我需要通过该请求向服务器发送甚至不同的、更大的数据。“闭包是穷人的对象”。了解闭包
。我是说用javascript。与您的问题无关,但为什么要发出POST
请求以获取HTML响应?@NikhilPatil:这只是一个文件名。我需要通过该请求向服务器发送更多不同的数据。inf\u类型不是一个全局变量,check()函数在一秒钟内被调用2次,使用2个不同的inf\u类型值。在这种情况下,请求和值不应混合使用。@Forte这就是重点!由于inf_类型不是全局变量,因此对于check()函数的调用,它是局部变量。因此,成功回调将使用这个本地值,始终是正确的。请阅读我给您的链接以获得更详细的解释。inf\u类型不是一个全局变量,check()函数在一秒钟内被调用2次,使用2个不同的inf\u类型值。在这种情况下,请求和值不应混合使用。@Forte这就是重点!由于inf_类型不是全局变量,因此对于check()函数的调用,它是局部变量。因此,成功回调将使用这个本地值,始终是正确的。请阅读我给你的链接以获得更详细的解释。我很高兴我能帮上忙:)我很高兴我能帮上忙:)因为服务器正在发送HTML代码作为响应,我正在寻找另一种更简短、更完美的方法。感谢您的帮助。将inf_类型发送到服务器并再次将其取回,然后在响应数据中搜索该值,因为它是一个HTML代码修补程序。。这涉及到大量的迭代。我只是想让我的js代码简单易懂。所以每次你都会从服务器获取完整数据,然后用javascript进行排序,为什么不发送inf_type in请求并从与之相关的服务器中提取数据,并将返回的数据直接设置到相应的div或span……因为服务器正在发送HTML代码作为响应,所以我正在寻找另一种更简短、更完美的方法。感谢您的帮助。将inf_类型发送到服务器并再次将其取回,然后在响应数据中搜索该值,因为它是一个HTML代码修补程序。。这涉及到大量的迭代。我只是想让我的js代码简单易懂。所以你每次都从服务器获取完整的数据,然后用javascript进行排序,为什么不发送inf_输入请求,从服务器中提取与之相关的数据,并将返回的数据直接设置到相应的div或span。。。。。。