Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Django和Jquery_Javascript_Jquery_Python_Django - Fatal编程技术网

Javascript 使用Django和Jquery

Javascript 使用Django和Jquery,javascript,jquery,python,django,Javascript,Jquery,Python,Django,除了这篇文章,我还想通过拖放改变列表的顺序,然后将其保存在django后端 为了测试和理解,我使用了以下小提琴: 并用我自己的操作更新了表单的操作。因此,我没有使用script.php,而是使用action=“{%url”save_order“%” 在视图中,我的函数如下所示: def save_order(request): if (request.method == 'POST'): list = request.POST['listCSV'] pr

除了这篇文章,我还想通过拖放改变列表的顺序,然后将其保存在django后端

为了测试和理解,我使用了以下小提琴:

并用我自己的操作更新了表单的操作。因此,我没有使用script.php,而是使用action=“{%url”save_order“%”

在视图中,我的函数如下所示:

def save_order(request):
    if (request.method == 'POST'):
        list = request.POST['listCSV']
        print(list)
基本上,我想更改列表元素的顺序,然后保存,这样在刷新页面后,保存的顺序就给出了。但我不知道如何将变量从jquery传递到django站点。当我更改顺序时,我会在“listCSV”中显示已排序的列表。如何将此结果传递到django站点以将其保存在db中

编辑: If/$(“#listsaveform”).submit();未被注释掉,并且我使用我的save_order函数调用此函数,我得到以下错误:

jquery-1.10.2.min.js:6 POST 405(不允许使用方法)

编辑:

好的,谢谢你的提示。我从未使用过ajax,因此我有点结巴。 我有我的列表结构:

  {% if habits %}
  <ul id="sortable">
      {% for habit in habits|dictsort:"priority" %}
      <li class="ui-state-default">{{habit.title}}</li>
      {% endfor %}
  </ul>
  {% endif %}

我的表单看起来怎么样?

这是我基于的解决方案

在JS中

//习惯的排序和保存顺序
$(函数(){
$('.sort')。可排序({
句柄:'按钮',
取消:“”,
更新:功能(事件、用户界面){
var result=$(this.sortable)(“serialize”,{key:event.target.id});
//警报(结果);
var csrftoken=getCookie('csrftoken');
$.ajax({
url:“/overview/saveOrder/”,//端点,通常为相同的url
类型:“POST”//http方法
数据:{csrfmiddlewaretoken:csrftoken,
结果:结果,,
},//随post请求发送的数据
//处理成功的响应
成功:函数(json){
console.log(json);//另一个健全性检查
//成功时,以消息形式显示发布到服务器的数据
//警报('yourlist'+json['result']);
},
//处理不成功的响应
错误:函数(xhr、errmsg、err){
控制台日志(“故障”);
log(xhr.status+“:“+xhr.responseText);//向控制台提供有关错误的更多信息
}
});
}
});
//var sorted=$(“.selector”).sortable(“序列化”,{key:“排序”});
//console.log(已排序)
})
//用于获取CSRF令牌
函数getCookie(名称){
var-cookieValue=null;
if(document.cookie&&document.cookie!=''){
var cookies=document.cookie.split(“;”);
对于(变量i=0;i}
更改订单时使用ajax发送数据
  $(function() {
      $( "#sortable" ).sortable();
  });