jQuery通话无法正常运行与ajax通话无法正常运行

时间:2019-05-28 16:28:00

标签: jquery session coldfusion-2016

我在ColdFusion中使用会话范围,并创建了一个AJAX设置器和获取器。当我为getter调用jQuery函数时,我得到了undefined,但是在jQuery调用中,我写入了控制台,并且值是正确的。我已经在AJAX中尝试过async: false,但无济于事。

我正在构建链接的选择对象的复杂级联,并且在重新加载级联时需要它们默认返回到最后选择的值。有人遇到过这个吗?我已经阅读了在StackOverflow上可以找到的所有内容,但仍无法解决,请参见下面的代码示例

GET和POST的AJAX类型,AJAX async: falsesessionManager以及我在这里找到的几乎所有其他内容。

默认为session.ReportsShowAll = 1,但可以更改,因此我使用jgetValue()来获取最新值,并在创建select时将selected选项设置为当前的session.ReportsShowAll。这种逻辑遍布各个领域,但我正在对一个实例进行故障诊断以断言在其他地方。

AJAX调用将写入控制台:

jgetValue: ReportsShowAll value: "1"

但是var sel设置却获得undefined

jgetValue = function(a) {
  $.ajax({
    url: "cfc/SessionMgr.cfc",
    type: "get",
    //async: false,
    dataType: "text",
    data: {
      method: "jgetValue",
      variablename: a
    },
    success: function(response) {
      console.log('jgetValue: ' + a + ' value: ' + response);
      return response;
    },
    error: function(msg) {
      console.log(msg);
    }
  });
}

这是根据重复线程编写的修改后的回调系统。

getter = function(a) {
    var callback = jgetValue(a);
    return callback;
}


function getCallBack(response) {
    console.log('callback handler: ' + response);
    return response;
}

回调处理程序:“ 1”

  jgetValue = function(a) {

     $.ajax({
            url: "cfc/SessionMgr.cfc",
            type: "get",
            //async: false,
            dataType: "text",
            data: {
                method: "jgetValue",
                variablename: a
            },
          success: getCallBack //function(response) {
            //console.log('jgetValue: ' + a + ' value: ' + response);
           // getCallBack();
            //return response;
          //}
              ,
          error: function(msg) {
              console.log(msg);
          }
      });

}

在异步调用之前和调用之后,这两种方法仍未将值设置为javascript对象,仍然认为其未定义。

var sel = jgetValue('ReportsShowAll');

0 个答案:

没有答案