Django:为什么我的jQuery帖子url在到达服务器时会发生变化?

Django:为什么我的jQuery帖子url在到达服务器时会发生变化?,jquery,ajax,django,Jquery,Ajax,Django,我有一个脚本运行以下post到Django后端: $(document).ready(function(){ $('.arrow-up, .arrow-down').click(function() { var myElement = $(this);

我有一个脚本运行以下
post
到Django后端:

$(document).ready(function(){                                                       
    $('.arrow-up, .arrow-down').click(function() {                                  
        var myElement = $(this);                                                    
        var url = myElement.data('url');                                            
        myElement.addClass('hidden');                                               
        var spinner = myElement.siblings('.spinning');                              
        spinner.removeClass('hidden');                                              
        debugger;                                                                   
        $.post({                                                                    
            url: url,                                                               
            // TODO: implement this better.                                         
            data: {vote: 'test'},                                                   
            dataType: 'json',                                                       
            success: function() {                                                   
                myElement.toggleClass('arrow-selected');                            
                spinner.addClass('hidden');                                         
                myElement.removeClass('hidden');                                    
            },                                                                      
            error: function() {                                                     
                spinner.addClass('hidden');                                         
                myElement.removeClass('hidden');                                    
                // TODO: make this link to the signup modal.                        
                alert('You must be logged in to vote');                             
            }                                                                       
        });                                                                         
    });                                                                             
});   
当我在
调试器上检查控制台时语句,
url
参数为
“http://localhost:8000/item/6/1/“

但是,当
POST
到达my django服务器时,它会将404返回到另一个url,即当前
位置
,并附加
[object%20Object]

"POST /lists/4/[object%20Object] HTTP/1.1" 404 2677

为什么会发生这种情况,以及如何对所需的url进行ajax调用?

您正在用代码更新url


选中行
var url=myElement.data('url')

您将url作为表单数据的一部分发送。我认为应该是:

$.post(url, {vote:'test'})
实际上,对于$.ajax来说,您使用的整个格式更好,所以可能最好将该post更改为ajax,并添加一个类似“post”的类型

    $.ajax({                                                                    
        url: url,
        type: 'POST',                                                              
        // TODO: implement this better.                                         
        data: {vote: 'test'},                                                   
        dataType: 'json',                                                       
        success: function() {                                                   
            myElement.toggleClass('arrow-selected');                            
            spinner.addClass('hidden');                                         
            myElement.removeClass('hidden');                                    
        },                                                                      
        error: function() {                                                     
            spinner.addClass('hidden');                                         
            myElement.removeClass('hidden');                                    
            // TODO: make this link to the signup modal.                        
            alert('You must be logged in to vote');                             
        }                                                                       
    });      

否,根据我的问题,我在
调试器中检查
url
参数语句,它是正确的。为什么不尝试通知url。我是说url值在触发点击事件时会发生变化。