【发布时间】:2018-02-21 05:58:28
【问题描述】:
我正在从 chrome 扩展程序向 django 服务发送电子邮件和密码,以检查数据库中是否存在电子邮件和密码。接下来我必须将 django 服务的响应发送到 java 脚本(chrome 扩展)。
chrome 扩展中的javascript:
document.addEventListener('DOMContentLoaded', loginEvents, false);
function myAction(femail,fpassword) {
//alert("femail=" + femail.value + "fpassword=" +fpassword.value);
var strLogin = "email=" + femail.value + "&password=" + fpassword.value;
if (femail.value == ""){
alert("Username must be filled out");
return false;
}
if (fpassword.value == ""){
alert("Password must be filled out");
return false;
}
var newxmlhttp = new XMLHttpRequest();
var theUrl = "http://127.0.0.1:8000/polls/login/?";
newxmlhttp.open("POST", theUrl, true);
newxmlhttp.onreadystatechange = function() {
if (newxmlhttp.readyState == 4){
alert("entered");
}
else{
alert("not entered");
}
};
newxmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
newxmlhttp.send(strLogin);
}
function loginEvents() {
console.log("entered console");
var loginSubmitButton = document.getElementById('loginSubmit')
loginSubmitButton.addEventListener('click',
function(event) {
var userEmail = document.getElementById('email');
var userPassword = document.getElementById('password');
myAction(userEmail,userPassword);
});
}
views.py:
from django.http import HttpResponse
from django.http import HttpResponseRedirect, HttpResponse
from django.core.exceptions import ObjectDoesNotExist
from django.shortcuts import render
from .models import UserProfile
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def login(request):
print(request.method)
useremail = request.POST.get('email')
userpassword = request.POST.get('password')
print('email %s %s' % (useremail,userpassword))
try:
/* to check the data is present in database or not */
entry = UserProfile.objects.get(email=useremail,password=userpassword)
print('matched== %s %s' %(useremail,userpassword))
return HttpResponse('hello %s' % useremail)
except ObjectDoesNotExist:
print('email not matched')
我能够在 Django 中获取从 chrome 扩展发送的数据,但我不明白如何将数据从 Django 发送到 chrome 扩展。我了解如何在 Django 服务发送的 chrome 扩展中获取数据,但我不明白如何从 Django 发送数据。
【问题讨论】:
标签: python django google-chrome