fatbigbright
fatbigbright
  • 发布:2015-05-28 11:12
  • 更新:2015-05-28 11:16
  • 阅读:4082

Ajax POST方式登陆RESTful服务问题

分类:MUI

使用Django REST framework中的Quickstart例子做RESTful服务:http://www.django-rest-framework.org/tutorial/quickstart/

由于Quickstart中设计了登陆,所以在移动客户端使用如下方式登陆:

        mui.plusReady(function(){  
            var btnJSON = document.getElementById('btnJSON');  
            btnJSON.addEventListener('click', function(){  
                mui.ajax('http://127.0.0.1:8000/api-auth/login/?next=/users/', {  
                    data: {  
                        username: 'fatbigbright',  
                        password: 'xxxxxx'  
                    },  
                    dataType: 'json',  
                    type: 'post',  
                    timeout: 10000,  
                    success: function(data){  
                        alert('Success');  
                    },  
                    error: function(xhr, type, errorThrown){  
                        alert('Failure: ' + errorThrown);  
                    }  
                });  
            });  
        });

如果在浏览器中直接访问RESTful服务,正常登陆并可查看/usrs/这一API,但用客户端却返回FORBIDDEN错误,服务的控制台显示:"POST /api-auth/login/?next=/users/ HTTP/1.1" 403 2629

看错误应属于权限问题,但用户名密码并没有错误。个人推测是用户名密码没有正确提交给API。求达人给指点一二。谢谢。

2015-05-28 11:12 负责人:无 分享
已邀请:
fer2005

fer2005

你使用过RestFull的测试工具测试过你的API吗?如果在测试工具里可以用的话,在ajax里应该是没有问题的

该问题目前已经被锁定, 无法添加新回复