2016-01-05 4 views
1

Я работаю над проектом django, где в представлениях я определил представление, которое возвращает запрос. Я хочу использовать, если другое условие в режиме просмотра аналогичен:Есть ли опция, где мы можем проверить источник запроса AJAX

if AJAXrequest from xyz.js 
{ 
//do this 
} 
else if AJAXrequest from abc.js 
{ 
//do that. 
} 

Может ли я получить помощь, пожалуйста, как я не в состоянии получить любую помощь от других связанных с этим вопросов и блог.

EDIT: Запрос AJAX от xyz.js вызывает viewet и возвращает объект запроса. Запрос AJAX от abc.js вызывает список просмотров со списком и возвращает объект запроса.

EDIT2:

class UserViewSet(ReadOnlyModelViewSet): 

if request.is_ajax(): 
    if 'user.js' in request.GET.get('users', ''): 
     print " called from user.js" 

else: 
    print "called from info.js" 
+0

Check [jquery.ajax()] (http://api.jquery.com/jquery.ajax) –

ответ

1

ваш Аякса

$.ajax({ 
    url: '/yoururl/', 
    type: 'get', 
    data: {'js': 'abc.js'} 
}) 

и на ваш взгляд:

def yourview(request): 
    if request.is_ajax(): 
     if 'abc.js' in request.GET.get('js', ''): 
      # do this 
     else: 
      # do that 
+0

еще один вопрос, так как ajax req из xyz.js не содержит атрибута данных, могу ли я просто сделать, если «somedata» в request.GET.get ('') будет удовлетворять условию только для второго ajax req. –

+0

@ vaibhav-1616 часть 'else' уже покрывает часть' xyz', правильно? – doniyor

+0

Я имею в виду, что вместо отправки имени файла js я могу просто проверить, содержит ли ajax req какие-либо данные, и если он содержит это для abc.js. –

0

Вы можете разместить информацию источника на атрибут данных $ .ajax функции.

+0

я получение ошибки: NameError: имя «запрос» не определен. Мне нужно установить библиотеку с помощью запроса на установку пакета или есть ли способ обхода –

+0

вы можете вставить код, который вы использовали для вызова ajax? –

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