gpt4 book ai didi

Javascript ajax 调用不会触发 Django

转载 作者:行者123 更新时间:2023-11-28 08:10:21 26 4
gpt4 key购买 nike

我试图根据从下拉栏中选择的内容来更改页面上的一些文本,但无法让我的 javascript 调用我的 Django 函数来确定文本,因此占位符文本永远不会被替换.

JS:

function updateDateRange(){
text = "";
$.ajax({
url:'/report/api_report_dates/',
data: {'option':selection_criteria_date[0]},
type: 'POST',
error: function(){alert('Error!');},
success: function(){
text = "Date Range: " + infoDict['start_date'] + " to " + infoDict['end_date'];
},
});

url.py:

(r'^report/$', 'report_view.view_report'),
(r'^report/api_report', 'report_view.api_report'),
(r'^report/api_report_dates', 'report_view.api_report_dates'),

report_view.api_report_dates:

def api_report_dates(request):
infoDict = {}
infoDict['start_date'] = (gets start date from request.option, else is "")
infoDict['end_date'] = (gets end date from request.option, else is "")
return HttpResponse(json.dumps(infoDict), content_type="application/json")

在选择选项之前,占位符文本会出现在应有的位置,并且警告“完成!”在我期望的时候出现。但它永远不会更改文本,并且我在 report_view.api_report_dates 的开头设置了一个断点,但调试器除了在页面加载时从未命中它。

任何帮助将不胜感激!

编辑: dhana 的回复帮助了我,更新了代码以反射(reflect)当前状态。我现在的问题是 ajax 既不会进入“错误”子句,也不会进入“成功”子句。

如果版本很重要,该网站使用 Django 1.2 和 JQuery 1.4.2

最佳答案

你应该这样写,

function updateDateRange(){
$.ajax({
url:'/report/api_report_dates/',
data: {'option':selection_criteria_date[0]},
type: 'POST',
error: function(){alert('Error!');},
success: function(){
alert('Done!');

text = "Hello!"
if (infoDict['start_date'] != '') {
text = "Date Range: " + infoDict['start_date'] + " to " + infoDict['end_date'];
}

},
}); //returns infoDict with 'start_date' and 'end_date'

在 urls.py 文件中添加此内容

(r'^report/api_report_dates/$', 'report_view.api_report_dates'),

在report_view.api_report_dates中:

import json

def api_report_dates(request):
infoDict = {}
infoDict['start_date'] = "some date"
infoDict['end_date'] = "some date"
return HttpResponse(json.dumps(infoDict))

关于Javascript ajax 调用不会触发 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24288940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com