【发布时间】:2013-05-30 16:05:05
【问题描述】:
我正在使用 Laravel 框架,并且正在发出 AJAX 请求以发送电子邮件。请求工作正常并且邮件已发送,问题是如果邮件发送成功与否,我无法获得服务器响应。
这是位于 views/contact/mail.blade.php 下的代码(短版):
if( mail($to, $subject, $body,$headers) ) {
$data = array( 'text' => Lang::line('contact.mail-success')->get() );
return Response::json($data);
} else {
$data = array( 'text' => Lang::line('contact.mail-error')->get() );
return Response::json($data);
}
这是 jquery :
$('#contact-form').submit(function() {
var request = $.ajax({
url: BASE+'/contact',
type: 'post',
data: { name: $('#name').val(), mail: $('#email').val(), message: $('#msg').val() },
dataType:"json",
success: function(data){
var message = $.parseJSON(data);
alert(message.text); // here I get the "cannot read property of null" in the console log
}
});
return false;
});
我做错了什么?感谢您的帮助。
【问题讨论】:
-
控制台中 ajax 调用的原始响应是什么?你能检查一下吗?我认为在刀片视图中放置“return”语句不是正确的做法。
-
使用 console.log(data),我得到一个“空”的答案。