使用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。求达人给指点一二。谢谢。
1 个回复
fer2005
你使用过RestFull的测试工具测试过你的API吗?如果在测试工具里可以用的话,在ajax里应该是没有问题的