I got an error when i want to fetch value from html page to ajax, and i got null.
view.py
`def placeorder(request):
if not ‘userid’ in request.session:
return redirect(‘login’)
if request.method == 'POST':
print("hii")
neworder = Order()
neworder.user_id = request.session['userid']
neworder.fname = request.POST.get('firstname')
neworder.lname = request.POST.get('lastname')
neworder.address = request.POST.get('address')
neworder.city = request.POST.get('city')
neworder.state = request.POST.get('state')
neworder.country = request.POST.get('country')
neworder.zipcode = request.POST.get('code')
neworder.phone = request.POST.get('phone')
print(neworder.fname)
#PAYMENT MODE:
# neworder.payment_mode = request.POST.get('payment_mode')
neworder.payment_id = request.POST.get('payment_id')
cart = Cart.objects.filter(user=request.session['userid'])
cart_total_price = 0
for item in cart:
cart_total_price = cart_total_price + item.product.Price * item.quantity
neworder.totalprice = cart_total_price
neworder.save()
neworderitems = Cart.objects.filter(user=request.session['userid'])
for item in neworderitems:
OrderItem.objects.create(
order=neworder,
product=item.product,
price=item.product.Price,
quantity=item.quantity
)
#Decrease the quantity from order stocks:
# orderproduct = Products.objects.
Cart.objects.filter(user=request.session['userid']).delete()
messages.success(request, "Your order is placed!")
return redirect("home")`
js file:
`$(document).ready(function(response){
$('.paywithrazorpay').click(function (e){
e.preventDefault();
var fname = $("[name='firstname']").val();
var lname = $("[name='lastname']").val();
var address = $("[name='address']").val();
var city = $("[name='city']").val();
var state = $("[name='state']").val();
var country = $("[name='country']").val();
var code = $("[name='code']").val();
var phone = $("[name='phone']").val();
var token = $("[name='csrfmiddlewaretoken']").val();
if(fname == "" || lname == "" || address == "" || city == "" || state == "" || country == "" || code == "" || phone == ""){
// swal("Alert!","All fields are mandatory", "error");
alert("error")
return false;
}
else{
// console.alert(fname)
$.ajax({
method : "GET",
url : "/proceed_to_pay",
dataType : "json",
// datatype : "datatype",
success: function (response){
var options = {
"key": "rzp_test_xftiEQRdK00lAf", // Enter the Key ID generated from the Dashboard
"amount": response.total_price * 100, // Amount is in currency subunits. Default currency is INR. Hence, 50000 refers to 50000 paise
"currency": "INR",
"name": "NithClothing",
"description": "Test Transaction",
"image": "https://example.com/your_logo",
// "order_id": "order_IluGWxBm9U8zJ8", //This is a sample Order ID. Pass the `id` obtained in the response of Step 1
"handler": function (responseb){
alert(responseb.razorpay_payment_id);
console.log(fname);
$.ajax({
method:"POST",
url: "placeorder",
// headers:{
// "X-CSRFToken": token
// },
data: {
'fname': fname,
'lname': lname,
'address':address,
'city': city,
'state': state,
'country': country,
'code': code,
'phone': phone,
'payment_id': responseb.razorpay_payment_id,
'csrfmiddlewaretoken': token,
} ,
// dataType: JSON,
success: function (responseb) {
window.location.href = '/home'
}
});
},
"prefill": {
"name": fname+ " "+lname,
// "email": "[email protected]",
"contact": phone
},
// "notes": {
// "address": "Razorpay Corporate Office"
// },
"theme": {
"color": "#3399cc"
}
};
var rzp1 = new Razorpay(options);
rzp1.open();
}
});
}
});
});`
I want the value of form which i fill as a input to save in database after payment.