首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery -非法调用

jQuery -非法调用
EN

Stack Overflow用户
提问于 2012-04-26 06:15:26
回答 10查看 371.5K关注 0票数 126

jQuery v1.7.2

我有这个函数,它在执行时给了我以下错误:

代码语言:javascript
复制
Uncaught TypeError: Illegal invocation

下面是函数:

代码语言:javascript
复制
$('form[name="twp-tool-distance-form"]').on('submit', function(e) {
    e.preventDefault();

    var from = $('form[name="twp-tool-distance-form"] input[name="from"]');
    var to = $('form[name="twp-tool-distance-form"] input[name="to"]');
    var unit = $('form[name="twp-tool-distance-form"] input[name="unit"]');
    var speed = game.unit.speed($(unit).val());

    if (!/^\d{3}\|\d{3}$/.test($(from).val()))
    {
        $(from).css('border-color', 'red');
        return false;
    }

    if (!/^\d{3}\|\d{3}$/.test($(to).val()))
    {
        $(to).css('border-color', 'red');
        return false;
    }

    var data = {
        from : from,
        to : to,
        speed : speed
    };

    $.ajax({
        url : base_url+'index.php',
        type: 'POST',
        dataType: 'json',
        data: data,
        cache : false
    }).done(function(response) {
        alert(response);
    });

    return false;
});

如果我从ajax调用中删除data,它就可以工作。有什么建议吗?

谢谢!

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-04-26 06:27:14

我认为你需要有字符串作为数据值。这可能是jQuery内部没有正确编码/序列化To & From对象的原因。

尝试:

代码语言:javascript
复制
var data = {
    from : from.val(),
    to : to.val(),
    speed : speed
};

另请注意以下各行:

代码语言:javascript
复制
$(from).css(...
$(to).css(

因为To & From已经是jQuery对象,所以不需要jQuery包装器。

票数 125
EN

Stack Overflow用户

发布于 2014-01-03 23:52:14

尝试在ajax设置中设置processData: false,如下所示

代码语言:javascript
复制
$.ajax({
    url : base_url+'index.php',
    type: 'POST',
    dataType: 'json',
    data: data,
    cache : false,
    processData: false
}).done(function(response) {
    alert(response);
});
票数 138
EN

Stack Overflow用户

发布于 2014-02-26 17:02:39

只是为了记录,如果您尝试在数据中使用未声明的变量,也可能会发生这种情况,比如

代码语言:javascript
复制
var layout = {};
$.ajax({
  ...
  data: {
    layout: laoyut // notice misspelled variable name
  },
  ...
});
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10324594

复制
相关文章

相似问题

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