我在Django模板中使用JqGrid。它工作正常,直到向網格添加新行。 我在導航面板上使用此「+」按鈕。問題是當我點擊「添加記錄」對話框中的「提交」時,出現HTTP 403錯誤。 如果我改變editurl到「/ AJAX /股票/加」(去掉最後一個斜線)出現HTTP 500錯誤。用Django向JqGrid添加行
有人知道問題可以在這裏嗎? 在瀏覽器中,查詢到http://127.0.0.1:8000/ajax/stocks/add/(使用的django dev服務器)如預期的那樣返回True。
而且我不完全理解什麼ajax_stock_add_view功能應該做的。 它是否應該返回成功狀態或其他回報?
這裏是我的Django的模板:
{% block extrascript %}
<script type="text/javascript">
$(document).ready(function() {
jQuery("#stocks-grid").jqGrid(
{ url:'/ajax/stocks/', datatype: "json", colNames:['Name','Comment'],
colModel:[
{name:'name',index:'name', editable:true},
{name:'comment',index:'comment', editable:true}
],
editurl : "/ajax/stocks/add/", rowNum:10, pager: '#stocks-grid-pager', sortname: 'name', viewrecords: true});
jQuery("#stocks-grid").jqGrid('navGrid', '#stocks-grid-pager');
});
</script> {% endblock %}
{% block content %}
<table id="stocks-grid"></table>
<div id="stocks-grid-pager"></div> {% endblock %}
這裏是urls.py:
...
(r'^ajax/stocks/$', ajax_stocks_view),
(r'^ajax/stocks/add/$', ajax_stocks_add_view),
...
和views.py中
def ajax_stocks_view(request):
json = get_grid_json(Stock)
return HttpResponse(json, mimetype='application/json')
def ajax_stocks_add_view(request):
return HttpResponse(True)
感謝您的解釋。就JqGrid而言,我應該使用afterSubmit事件。我試過了,但事件沒有打電話。這是因爲我還沒有解決的HTTP錯誤。 –