我正在尝试为我的网站实施一个AJAX联系表单,我遇到的问题是,当我点击提交时,我在Google Chrome中遇到以下错误:
"Uncaught TypeError: Cannot read property 'message' of undefined----contact-form.js:38".
答案 0 :(得分:0)
error: function(response) {
contactForm.addAjaxMessage(response.responseJSON.message, true);
}
如果查看jQuery documentation for error
in $.ajax
,您会看到回调函数的第三个参数是包含错误消息的字符串:
错误强>
Type: Function( jqXHR jqXHR, String textStatus, String errorThrown )
请求失败时要调用的函数。该 函数接收三个参数:jqXHR(在jQuery 1.4.x中,
XMLHttpRequest
)object,一个描述错误类型的字符串 发生了,并且发生了一个可选的异常对象。
所以,试试这个,而不是:
error: function(a, b, response) {
// You can use `a` and `b` if you need them.
contactForm.addAjaxMessage(response, true);
}
答案 1 :(得分:0)
错误是因为responseJSON
不是standard property或XMLHttpRequest
的{{3}}。
您需要that jQuery makes available,use responseText
instead:
contactForm.addAjaxMessage($.parseJSON(response.responseText).message, true);
// or
contactForm.addAjaxMessage(response.responseText, true);