jQuery-非法调用

jQuery v1.7.2


我有这个功能,在执行时给我以下错误:


Uncaught TypeError: Illegal invocation

这是功能:


$('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;

});

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


谢谢!


冉冉说
浏览 624回答 2
2回答

慕桂英4014372

我认为您需要将字符串作为数据值。可能是jQuery内部的某些内容未能正确地对To&From对象进行编码/序列化。尝试:var data = {    from : from.val(),    to : to.val(),    speed : speed};还要注意以下行:$(from).css(...$(to).css(您不需要jQuery包装器,因为To&From已经是jQuery对象。

幕布斯6054654

尝试设置processData:在像这样的ajax设置中为false$.ajax({    url : base_url+'index.php',    type: 'POST',    dataType: 'json',    data: data,    cache : false,    processData: false}).done(function(response) {    alert(response);});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery