jquery - 当我的 jqxhr.responseText 变量在 xhr 对象中设置时,为什么它未定义?

标签 jquery coldfusion

我在这里有一个真正简单的 jquery get 调用,我想稍后在脚本中使用响应。所以如果我这样做:

var xhr = $.get('cfc/partsDefinition.cfc',{
                method: 'checkValid',
                search: 'some search string'
            }
        );
        console.log(xhr);
        console.log(xhr.responseText);

我可以看到 A) 第一个日志显示了一个有效的 jqxhr 对象,其 responseText 属性设置为我所期望的...

promise: function (a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}
readyState: 4
responseText: "0"
setRequestHeader: function (a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this}

但是 B) 第二条日志显示“未定义”。我在这里缺少什么?

最佳答案

它显示未定义,因为在代码中的那个点,它是未定义的。 AJAX 是异步的,这意味着它不会在代码运行之前完成。在 ajax 调用完成之前,responseText 将处于未定义状态。这是一个例子:

var xhr = $.get('cfc/partsDefinition.cfc',{
                method: 'checkValid',
                search: 'some search string'
            }
        ).done(function(data){
            console.log("xhr",xhr);
            console.log("xhr.responseText",xhr.responseText);
            console.log("data",data);
        });
console.log("This should happen before the other console logs");

关于jquery - 当我的 jqxhr.responseText 变量在 xhr 对象中设置时,为什么它未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8933544/

相关文章:

coldfusion - 标题中插入的脚本引用

javascript - 如何从 coldfusion cfc 页面获取返回变量?

javascript - 根据下拉菜单更改图像 src

jquery - 来自本地 JSON 数据的 Google map 标记

javascript - 刷新后数据表搜索为空,但过滤器处于事件状态

jquery - 如何使 jquery 操作和框选中/取消选中在 IE6 上工作?

javascript - 在 js 对象中使用 `this`

java - 将自动发现 (EWS API) 与 Coldfusion 结合使用

excel - 将 cfdocument 保存为 Excel 文件

coldfusion - 使用 cfhttp 检索公共(public)电子表格文档