我正在尝试通过jQuery提交带有AJAX的表单:
$('.submit input').click(function() {return false;});
$("#addcourseform").submit(function(event) {
event.preventDefault();
var formcont = $(this).serialize();
$.post({
type:"POST",
url: "<?php echo base_url(); ?>handover/courseadd",
data: formcont,
success: function(returned) {
alert("It worked: "+returned);
}
});
});
上面的代码包含在ready()中,在控制台中没有返回错误,以及所有好东西。但是,似乎将[object Object]附加到POST URL的末尾。由于我使用CodeIgniter,因此它会引发400 Bad Request,因为它在URL中包含不允许的字符。
如何通过添加jQuery来获取jQuery?
编辑后固定:
对于那些未来读过这篇文章并认为我是白痴的人,我确实使用了post()语法错误。
答案 0 :(得分:6)
$。发布与 $。ajax 不同,因此您必须以不同方式提供参数。
试试这个:
$.post("<?php echo base_url(); ?>handover/courseadd",
$(this).serialize(),
function(returned){
alert("It worked: " + returned);
});
或者在当前代码中将发布替换为 ajax 。
答案 1 :(得分:4)
编辑:这实际上是jQuery中最老的错误 - 您可能忘记将整个事件包装在ready()
处理程序中。 :)
答案 2 :(得分:2)
您还有另一种语法错误:
var formcont = $(this).serialize());
删除最后一个)
:
var formcont = $(this).serialize();
在您的浏览器中查看您的控制台,它应该记录这些类型的问题,以便您轻松发现。