【发布时间】:2012-02-03 22:32:29
【问题描述】:
有人看到以下问题吗?
jQuery(document).ready(function($) {
$("#ajax-form").submit(function(e) {
e.preventDefault();
$("#result").html('Sending…').fadeIn();
var fields = '{';
$('#ajax-form').filter(':input').each(function() {
fields = fields + $(this).attr("name")+' : '+$(this).val()+', ';
});
fields = fields + '}';
url = '/scripts/form-submit.php';
$.post(url,fields, function(data, respText, xhr){
alert('ok-'+data+'-'+respText+'-'+xhr);
})
.error(function(d) {
alert('no good');
});
});
});
在 Inspector 中,我在提交时收到以下错误:
TypeError: 'undefined' 不是函数('....error(function(d) {...' 附近)
在关闭 .error (});) 的行上。那是第 17 行。
提交时,我收到一条警报,内容为:“ok--success-[object XMLHttpRequest]”。我提交的脚本应该发送一封电子邮件并返回“它工作”作为 AJAX 响应数据,并且电子邮件永远不会发送,也不会收到响应。我知道该脚本有效,因为当我定期(不是异步)发布它时,它一切正常。
非常感谢任何见解。谢谢。
【问题讨论】:
-
为什么不使用serialize 而不是手动创建
fields -
好电话,谢谢。这实际上使服务器脚本工作(发送电子邮件),但我仍然收到 TypeError 错误。知道是什么原因造成的吗?
标签: jquery ajax typeerror .post