Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

Добавить параметр ко всем запросам JQuery Ajax

#javascript #jquery #ajax


Есть сайт на React (но не SPA) со множеством ajax запросов через JQuery. Нужно ко
всем GET/POST запросам добавить дополнительный параметр в URL. 

Например, при abc=123 запросы получатся следующие:

localhost:8080 -> localhost:8080?abc=123
localhost:8080?qwe=456 -> localhost:8080?qwe=456&abc=123


Как это сделать без переписывания всех запросов?

P.S. это мне нужно, чтобы номер сессии прописать в URL, так как Cookie для меня не
подходит.
    


Ответы

Ответ 1



http://api.jquery.com/jquery.ajaxprefilter/ $.ajaxPrefilter(function (options, originalOptions, jqXHR) { var hasQM = options.url.indexOf("?") >= 0; // QM - question mark options.url = options.url + (hasQM? "&" : "?") + "abc=123"; });

Ответ 2



Приходит на ум что-то типа: 1) По всему проекту заменить $.ajax на скажем ajaxRequest 2) Сделать собственно обертку ... function ajaxRequest( params ) { params.url += `${(/\?/.test(params.url) ? '&' : '?')}abc=123`; $.ajax(params); } Дальше уже от фантазии и разнообразия зависит, возможно придется менять не url, а data или ещё что-то ...

Комментариев нет:

Отправить комментарий