2013-07-26 4 views
0

На данный момент я не использую аутентификацию для Tastypie, но я могу видеть контент, когда я перехожу к URL-адресу в браузере.401 Ошибка UNAUTHORIZED с методом jquery get с Tastypie api

http://localhost:8000/live/api/update/?format=json 

, но я пытаюсь получить эти данные на странице с помощью AJAX вызова Jquery,

$.post('/live/api/update/?format=json', 
      {type:'GET',dataType: "json", processData: false, 
    contentType: "application/json",userid:$('#index').val()},function(devicelist){  
    .....  
    } 

В браузере Firebug консоли, я м вижу 401

Примечание: от Ответа Харис в Я был в состоянии решить эту проблему, но я хочу, почему это работает

, когда я использую

$.ajax({ type: "POST", url: url, data: data, success: success, dataType: dataType }); 

он работает (Status: 202), тогда как при использовании

$.post('/live/api/update/?format=json', 
       {type:'GET',dataType: "json", processData: false, 
     contentType: "application/json",userid:$('#index').val()},function(devicelist){  
     .....  
     } 

это не working.Actually я перевел PHP код Django, когда я использовал PHP выше код, используемый для работы с 401 ошибкой

Там нет аутентификации в tastypie апи код

api.py

from tastypie.resources import ModelResource 
from models import Update 
from tastypie.serializers import Serializer 
import urlparse 

class urlencodeSerializer(Serializer): 
    formats = ['json', 'jsonp', 'xml', 'yaml', 'html', 'plist', 'urlencode'] 
    .... 


class UpdateResource(ModelResource): 
    class Meta : 

     queryset = Update.objects.all() 
     resource_name = 'update' 
     filtering = {'imei' : ALL } 
     #authentication = DjangoCookieBasicAuthentication() 
     serializer = urlencodeSerializer() # IMPORTANT 
     allowed_methods = ['get','post'] 

ответ

1

вы s завершение запроса $ .POST с помощью jquery, но вы пытаетесь изменить тип на GET. Используйте .ajax, если вы хотите добавить пользовательские параметры в запрос ajax.

Смежные вопросы