Изменить заголовки ajax-запроса fancybox

Здравствуйте, я пытаюсь изменить заголовки запроса ajax при открытии fancybox. Пока не могу заставить его работать даже по документации. После указания типа ajax я должен иметь возможность редактировать ajax в соответствии с документацией jquery.

Пока это работает без таких заголовков (все внутри jQ по событию клика):

$.fancybox.open( $(this), {
        type: 'ajax',
        helpers: {
            overlay: {
                locked: false
            }
        }
    });

Проблема возникает, когда я пытаюсь изменить запрос ajax. Это то, что я пробовал, и не работает:

$.fancybox.open({
            type: 'ajax',
            ajax: {
                url: siteUrl + href,
                type: 'GET',
                headers: {
                    'fooheader' : 'bar'
                }
            },
            helpers: {
                overlay: {
                    locked: false
                }
            }
        });

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

Есть ли у кого-нибудь опыт добавления заголовков в ajax-запрос fancybox?

«не работает» не очень полезно, может быть, у вас где-то на странице есть синтаксическая ошибка? Это невозможно сказать, не видя вашей страницы.

Janis 29.05.2019 15:13

Ну, в том-то и проблема, что нет синтаксиса ошибок. Похоже, он просто отбрасывает параметры ajax и по какой-то причине перенаправляет на тот же URL-адрес. Я пытаюсь дать больше информации, подождите, пожалуйста.

Lucián Blažek 29.05.2019 15:22

В настоящее время браузеры довольно умны, и вы можете проверить сообщения об ошибках JS даже после обновления страницы, нажмите F12 и проверьте вкладку консоли.

Janis 29.05.2019 16:19
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
3
213
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Скрипт объединяет опцию ajax и передает ajax-метод jQuery - http://api.jquery.com/jquery.ajax/ - в качестве настроек, и все работает нормально.

Ответ принят как подходящий

Добавление заголовков внутри ajax-запроса fancybox:

<a href = "javascript:void(0);" id = "linkName" class = "fancybox" >Fancybox Link Name</a>

 <script type = "text/javascript">
      $(document).ready(function() {
        var name = "This is text that will be send into ajax request";              
        $("#linkName").click(function() {
          $.fancybox.showLoading(); //Loader before the ajax request
          $.ajax({
              type : "POST",
            headers: {
                  'Authorization':'Basic xxxxxxxxxxxxx',
                  'X-CSRF-TOKEN':'xxxxxxxxxxxxxxxxxxxx',
                  'Content-Type':'application/json' },
            cache : false,
            url : "testfile.php",   //File url
            data  : 'myText=' + name, //Ajax requested data
            success : function(data) {
              $.fancybox(data);  //Get response into data variable
            }
          });
          return false;
        });
      });
    </script>

Другие вопросы по теме