Jquery 将X-Editable与Django一起使用-不返回JSON
我已经通读了我能找到的每一个答案,但似乎没有什么能让我满意,这样我就可以让我的项目工作了。我有一个Django站点,我想使用X-editable(我相信类似于Jquery),但不知道如何用JSON发送数据,但它是用AJAX发送的。我确信这很简单,但我找不到我的错误。我的代码如下Jquery 将X-Editable与Django一起使用-不返回JSON,jquery,json,django,x-editable,Jquery,Json,Django,X Editable,我已经通读了我能找到的每一个答案,但似乎没有什么能让我满意,这样我就可以让我的项目工作了。我有一个Django站点,我想使用X-editable(我相信类似于Jquery),但不知道如何用JSON发送数据,但它是用AJAX发送的。我确信这很简单,但我找不到我的错误。我的代码如下 <!DOCTYPE HTML> <html lang="en"> </html> <head> <meta charset="
<!DOCTYPE HTML>
<html lang="en"> </html>
<head>
<meta charset="utf-8">
</head>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.0/bootstrap3-editable/css/bootstrap-editable.css" rel="stylesheet"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.0/bootstrap3-editable/js/bootstrap-editable.min.js"></script>
<body>
<p></p>
<div class="container">
<table class="table table-hover table-responsive"{% if table.attrs %} {{ table.attrs.as_html }}{% endif %}>
<tr>
<th>Project</th>
<th>Employee</th>
<th>Percent on Project</th>
<th>Total Utilization</th>
<th>Start</th>
<th>End</th>
</tr>
{% for detail in utilization %}
<tr>
<td class="col-md-1">{{ detail.proj }}</td>
<td class="col-md-2"> {{ detail.employee.last_name }} </td>
<td class="col-md-2"><a href="#" id="projectAllocation" data-name="percent_allocated" data-params="{csrfmiddlewaretoken:'{{csrf_token}}'}" class="editable" data-url="/employee_post" data-type="text" data-pk="{{ detail.id }}" title="Project Name">{{ detail.percent_allocated }}</a></td>
<td class="col-md-1"> {{ detail.total_utilization }} </td>
<td class="col-md-1"> {{ detail.week_start }}</td>
<td class="col-md-1"> {{ detail.target_complete }}</td>
</tr>
{% endfor %}
</table>
<button type="button" class="btn save-btn btn-primary">Save</button>
</div>
<script charset="utf-8">
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie !== '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
var csrftoken = getCookie('csrftoken');
</script>
<script charset="utf-8">
$(document).ready(function () {
$('.editable').editable();
$.fn.editable.defaults.mode = 'inline';
$.fn.editable.defaults.ajaxOptions = {
type: 'POST',
dataType: 'json',
contentType: "application/json",
data: {'data': JSON.stringify(document.getElementById(detail))},
cookie: 'csrftoken',
xhrFields: {
withCredentials: true
}
}});
</script>
</body>
项目
雇员
项目的百分比
总利用率
开始
终点
{%获取利用率%中的详细信息}
{{detail.proj}
{{detail.employee.last_name}
{{detail.total_use}
{{detail.week_start}
{{detail.target_complete}
{%endfor%}
拯救
函数getCookie(名称){
var-cookieValue=null;
if(document.cookie&&document.cookie!=''){
var cookies=document.cookie.split(“;”);
对于(变量i=0;i
我想问题在于设置的名称
属性不正确。我觉得应该是@ashishnitinpail谢谢,但是我厌倦了使用{{dynamicDjangoVar}},但是它不在js的范围之内。我将尝试重新加载模板变量,然后在JS中使用它。。只是不知道这是否有效。再次感谢您。您还应该在变量周围添加引号,如-JSON.stringify(document.getElementById(“{detail.percent\u allo)
@ashishnitinpail再次感谢。Django Queryset的格式很奇怪,与js不兼容,因为它不是一个简单的列表。也就是说,我已经找到了一种重新格式化数组的方法,但仍然存在问题。数据被发送回我的服务器,但它是在AJAX中,我需要JSON。有什么想法吗?