Ajax调用Django发送邮件无响应
我在用Djrill从我的Django应用程序发送邮件。
我通过ajax调用处理发送邮件的视图,代码如下:
$.ajax({
url: "/sendmail&name="+name+"&receiver="+email+"&phone="+phone+"&address="+address,
type: 'GET',
success: function(){
console.log('done');
}
});
这个功能的views.py文件是:
def sendEmail(request):
if 'receiver' in request.GET and request.GET['receiver']:
name = request.GET['name']
recv = request.GET['receiver']
phone = request.GET['phone']
address = request.GET['address']
from django.core.mail import send_mail
send_mail("Service name: "+name, "Phone Number: "+phone+" <br>Address: "+address, "<sender@example.com", [recv])
return 'True Data'
else:
return 'False data'
Urls.py文件是:
url(r'^sendmail$', views.sendEmail, name='sendmail'),
但是,ajax调用的响应返回了一个404错误。
你知道这是怎么回事吗?
1 个回答
4
在请求中,URL 应该是 sendmail?
,而不是 sendmail&
:
url: "/sendmail?name="+name+"&receiver="+email+"&phone="+phone+"&address="+address,
^ there
否则,它会寻找一个格式为 sendmail&name=(.+)
的 URL,但显然这个 URL 是不存在的。
想了解更多信息,可以查看 查询字符串结构(不过我觉得这也是你写错了)