Javascript-ajax调用不';t触发器Django

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

我试图让页面上的一些文本根据从下拉栏中选择的内容进行更改,但无法让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\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']”而且您的成功函数中没有参数,因此您没有存储来自服务器的响应。谢谢您的笔名!这只是缺少成功参数。此外,这些引文只是抄袭造成的打字错误。