首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery:怪异的行为- XHTTPResponses与承诺/包装

问jQuery:怪异的行为- XHTTPResponses与承诺/包装
EN

Stack Overflow用户
提问于 2014-04-14 14:43:10
回答 1查看 37关注 0票数 0

具有以下代码:

代码语言:javascript
复制
(function($) {

    $(function(){
        $("div.cotizador ul > li > a.cotizador").click(function(){
            var data = {
                concesionaria: $(this).data("concesionaria"),
                modelo: $(this).data("modelo")
            };

            var promise = $.get("ir-a-concesionaria", data, function(data){
                if ("success" in data) {
                    window.location.href = data.success.redirect;
                } else {
                    alert("No se puede seleccionar el modelo especificado. Consulte con el administrador del sitio.");
                }
            }, "application/json");
            console.log(data);
            console.log(promise);
            promise.fail(function(xhr, errorType, errorDescription){
                alert("Ocurrió un error interno. Intente nuevamente más tarde");
            });
        });
    });

})(jQuery);

(目前,哪些HTML实际触发回调并不重要)。

当到达指令console.log(promise)时,Google在控制台调试消息中显示:

代码语言:javascript
复制
XMLHttpRequest {statusText: "", status: 0, response: "", responseType: "", responseXML: null…}

这意味着:$.get返回的结果不是承诺包装的XHTTP (因此,.fail方法不存在)。

同时,调试data对象会给出一个{modelo:"xxx", concesionaria:"yyy"},假设"xxx“和"yyy”具有良好的定义和期望值(这意味着:数据是定义的,并且在触发我正在讨论的错误时没有错误)。

然而,当我将代码复制到控制台并用一个文字对象替换参数时,:

代码语言:javascript
复制
jQuery.get("ir-a-concesionaria", {modelo:'toyota-gt86', concesionaria:'casabaca'}, function(data){
    if ("success" in data) {
        window.location.href = data.success.redirect;
    } else {
        alert("No se puede seleccionar el modelo especificado. Consulte con el administrador del sitio.");
    }
}, "application/json");

返回的对象(如Google控制台中所示)是一个承诺包装的对象(如文档中所述)。

问题:为什么会发生这种情况?

(即使这可能没有帮助:目前我正在使用Drupal 7)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-14 15:11:34

找到答案(Drupal Sucks):

首先,加载1.4.4版本的jQuery。然后,调用该函数。最后,加载1.10.1版本的jQuery。在那之后,我重复了测试用例,当然,它起了作用-.-'‘。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23063112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档