Javascript-ajax调用不';t触发器Django
我试图让页面上的一些文本根据从下拉栏中选择的内容进行更改,但无法让javascript调用Django函数来确定文本,因此占位符文本永远不会被替换 JS: URL.py:Javascript-ajax调用不';t触发器Django,javascript,jquery,python,ajax,django,Javascript,Jquery,Python,Ajax,Django,我试图让页面上的一些文本根据从下拉栏中选择的内容进行更改,但无法让javascript调用Django函数来确定文本,因此占位符文本永远不会被替换 JS: 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
(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\u view.api\u report\u日期:
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")
import json
def api_report_dates(request):
infoDict = {}
infoDict['start_date'] = "some date"
infoDict['end_date'] = "some date"
return HttpResponse(json.dumps(infoDict))
占位符文本将显示在选择选项之前应该显示的位置,并显示警告“完成!”在我期待的时候出现。但是它从不改变文本,我在report\u view.api\u report\u dates的开始处设置了一个断点,但是除错器除了在页面加载时不会点击它
任何帮助都将不胜感激
编辑:dhana的回答帮助了我,更新了代码以反映当前状态。我现在的问题是,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'
在URL.py文件中添加以下内容
(r'^report/api_report_dates/$', 'report_view.api_report_dates'),
在report_view.api_report_日期中:
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")
import json
def api_report_dates(request):
infoDict = {}
infoDict['start_date'] = "some date"
infoDict['end_date'] = "some date"
return HttpResponse(json.dumps(infoDict))
您需要移动
success
callback中的所有逻辑-在它之外是无法访问的。如果这是您的逐字代码,则在成功函数中,您的引用会被弄乱。应该是text=“日期范围:”+infoDict['start_Date']+”到“+infoDict['end_Date']”代码>而且您的成功函数中没有参数,因此您没有存储来自服务器的响应。谢谢您的笔名!这只是缺少成功参数。此外,这些引文只是抄袭造成的打字错误。