我有簡單的Django項目名稱阿賈克斯。而我安裝了這個項目的名稱促銷碼只有一個應用程序。 我在這個項目中的問題是js和python之間的Ajax調用。我不能使用ajax調用函數處理Succes。錯誤:函數()結果我得到了。 我知道我在Ajax調用函數促銷碼的應用程序和URL映射urls.py錯誤,但我解決不了這個。請幫我:)Ajax調用JS用在Python
我主要urls.py文件是:
from datetime import datetime
from django.conf.urls import url,include
import django.contrib.auth.views
urlpatterns = [
url(r'^', include('promocode.urls'))]
我的促銷碼應用urls.py文件是:
from django.conf.urls import url, include
from . import views
urlpatterns = [
url(r'^$', views.index,name='index'),
url(r'^$', views.extract_json)]
我views.py文件是:
from django.shortcuts import render
import json
from suds.client import Client as Client
from django.http.response import HttpResponse
def index(request):
return render(request,'promocode/index.html')
def get_result_by_code(promocode):
url = "http://service.emobile.az:8080/ws-loyalty-
program/cp/loyaltyprogram.wsdl"
client = Client(url)
result = client.service.loyaltyProgramCalculate(
amount=1000,
authKey='testaede35740f2b9d2248b0ab6b878',
identicalCode=promocode,
terminalCode=2148)
if str(result[2]) == "SUCCESS":
status = 1
else:
status = 0
return status
def extract_json(request):
data = json.loads(request.body)
status = get_result_by_code(data['4545'])
result = dict(
status=status,
message='Result Succesfully'
)
return HttpResponse(json.dumps(result), mimetype='application/json')
我的index.html文件是:
<!DOCTYPE html>
<html>
<head>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
</head>
<body>
<h3>Promocode Test </h3>
<label for="bakcelPromo">Promocode</label> <br>
<input type="text" name="bakcelPromo" id="bakcelPromo" class="form-control">
<br>
<br>
<label for="sum">Sum Insured</label> <br>
<input type="text" name="sum" id="sum" value="" class="form-control">
<p></p>
<button onclick="get_result_by_code();">Hesabla</button>
<br>
<br>
<label for="premium">Premium</label> <br>
<input id="premium" type="text" />
<br>
<br>
<script>
function get_result_by_code() {
var sum_insured = document.getElementById("sum").value * 0.035;
var promocode = document.getElementById("bakcelPromo").value;
$.ajax({
type: "GET",
url: "promocode/" ,
dataType: "json",
async: true,
data: { "promocode": promocode },
success: function (response) {
if (response.status == 1) {
sum_insured = sum_insured * 0.8
} else {
sum_insured = sum_insured * 1.5
}
$('#output').html(response.message);
},
error: function() {
alert('There was an error communicating with the server.');
}
});
document.getElementById("premium").value = parseInt(sum_insured);
}
</script>
</body>
</html>
首先2個網址與相同的正則表達式模式指向兩個不同的看法 第二,你可以爲我提供的截圖可以查看想象你想要做 三阿賈克斯網址什麼是不正確的,你可以使用網址模板標籤'{%URL「命名空間:視圖名」數據%}' –
這裏是屏幕的鏈接:[鏈接](https://drive.google.com/file/d/0BwGtk0EG74ekUmZUMVZ4TzVfcFU/view)我輸入promocode並保險。這個promocode通過js ajax和python函數發送給python函數,調用webservise並得到結果1或0。然後這個結果由ajax返回給js,最後在返回結果的基礎上計算溢價。問題在於ajax回調過程。你能否更新我上面寫的文件爲正確的,並再次寫在這裏嗎? –