有人发现以下问题吗?
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');
});
});
});
在检查器中,我在提交时收到以下错误:
TypeError: 'undefined' is not a function (near '....error(function(d) {...')
在关闭 .error 的行上 ( });
)。这是第 17 行。
提交后,我收到一条警报,内容为:“ok--success-[object XMLHttpRequest]
”。我提交的脚本应该发送一封电子邮件并返回“它有效”作为 AJAX 响应数据,但电子邮件从未发送,也没有收到响应。我知道该脚本有效,因为当我定期发布(而不是异步)时,一切都完美运行。
非常感谢任何见解。谢谢。
最佳答案
使用serialize
生成帖子数据
$('#form').submit(function(){
$.ajax({
type: "POST",
url: "/scripts/form-submit.php",
data: $(this).serialize(),
success:function(response){
alert('ok-'+data+'-'+respText+'-'+xhr);
alert("Details saved successfully!!!");
},
error: function (request, status, error) {
alert(request.responseText);
}
});
})
关于jQuery 类型错误 : 'undefined' is not a function on AJAX submit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8753714/