Здравствуйте, я пытаюсь изменить заголовки запроса 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?
Ну, в том-то и проблема, что нет синтаксиса ошибок. Похоже, он просто отбрасывает параметры ajax и по какой-то причине перенаправляет на тот же URL-адрес. Я пытаюсь дать больше информации, подождите, пожалуйста.
В настоящее время браузеры довольно умны, и вы можете проверить сообщения об ошибках JS даже после обновления страницы, нажмите F12 и проверьте вкладку консоли.
Скрипт объединяет опцию 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>
«не работает» не очень полезно, может быть, у вас где-то на странице есть синтаксическая ошибка? Это невозможно сказать, не видя вашей страницы.