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调用中删除,它可以..有什么建议吗?谢谢!
2 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
我认为您需要将字符串作为数据值。可能是jQuery内部的某些内容未能正确地对To&From对象进行编码/序列化。
尝试:
var data = {
from : from.val(),
to : to.val(),
speed : speed
};
还要注意以下行:
$(from).css(...
$(to).css(
您不需要jQuery包装器,因为To&From已经是jQuery对象。
幕布斯6054654
TA贡献1876条经验 获得超7个赞
尝试设置processData:在像这样的ajax设置中为false
$.ajax({
url : base_url+'index.php',
type: 'POST',
dataType: 'json',
data: data,
cache : false,
processData: false
}).done(function(response) {
alert(response);
});
- 2 回答
- 0 关注
- 623 浏览
添加回答
举报
0/150
提交
取消