[英]Using code from views.py in javascript of html in django
我正在為我的 django 網站進行支付集成,在我的 views.py 中,我有一個 function 用於檢查交易是否成功,我想在我的 javascript 中使用該條件,所以可以保存詳細信息(如果交易成功完成,則用戶在表單中輸入。 這是我的views.py,用於檢查是否反式。 成功與否:
@csrf_exempt
def handlerequest(request):
# paytm will send you post request here
form = request.POST
response_dict = {}
for i in form.keys():
response_dict[i] = form[i]
if i == 'CHECKSUMHASH':
checksum = form[i]
verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
if verify:
if response_dict['RESPCODE'] == '01':
print('order successful')
else:
print('order was not successful because' + response_dict['RESPMSG'])
return render(request, 'paymentstatus.html', {'response': response_dict})
這是我的 javascript,它會在用戶點擊付款按鈕時自動提交用戶輸入的詳細信息:
document.getElementById('payment-info').addEventListener('click', function (e) {
submitFormData()
})
function submitFormData() {
console.log('Payment Button Clicked')
var userFormData = {
'name': null,
}
var shippingInfo = {
'address': null,
}
shippingInfo.address = form.address.value
userFormData.name=form.name.value
var url = "/process_order/"
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRFToken': csrftoken,
},
body:JSON.stringify({'form': userFormData, 'shipping': shippingInfo }),
})
.then((response) => response.json())
.then((data) => {
console.log('Success:', data);
alert('Transaction Completed')
window.location.href = "{% url 'index' %}"
})
}
我想找到一種方法,以便僅在以下情況成立時才能調用此 submitFormData:
if response_dict['RESPCODE'] == '01':
print('order successful')
(在我看來.py)
您的paymentstatus.html
包含此 JS 代碼。 正確的? 如果是這樣,那么您已經在 HTML 中傳遞了用於渲染的response_dict
。 您應該能夠根據“RESPCODE”的值來調節 JS 代碼的調用。 它應該是這樣的 -
{% for obj in response %}
{% if obj.RESPCODE == '01'}
// call to your JS code
{% else %}
// something else
{% endfor %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.