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调用中删除,它可以..有什么建议吗?
data
谢谢!
我认为您需要将字符串作为数据值。可能是jQuery内部的某些内容未能正确地对To&From对象进行编码/序列化。
尝试:
var data = { from : from.val(), to : to.val(), speed : speed };
还要注意以下行:
$(from).css(... $(to).css(
您不需要jQuery包装器,因为To&From已经是jQuery对象。