如何在帖子回复中访问js值?

时间:2012-05-25 05:12:38

标签: 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) {
            // 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 变量值放在任何全局变量中。 我能做些什么来实现这一目标? 请指导我。提前谢谢。

4 个答案:

答案 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'
 });
}