Jquery 编辑fancybox ajax请求的标题

Jquery 编辑fancybox ajax请求的标题,jquery,ajax,http-headers,fancybox,Jquery,Ajax,Http Headers,Fancybox,您好,我正在尝试在打开fancybox时更改ajax请求头。 到目前为止,我似乎无法使它工作,甚至根据文件。在将类型声明为ajax之后,我应该能够根据jquery文档编辑ajax 到目前为止,在没有这样的标题的情况下,它确实可以工作(一切都在jQ on click事件中): 当我试图修改ajax请求时,问题就出现了。这是我尝试过的,不起作用: $.fancybox.open({ type: 'ajax', ajax: {

您好,我正在尝试在打开fancybox时更改ajax请求头。 到目前为止,我似乎无法使它工作,甚至根据文件。在将类型声明为ajax之后,我应该能够根据jquery文档编辑ajax

到目前为止,在没有这样的标题的情况下,它确实可以工作(一切都在jQ on click事件中):

当我试图修改ajax请求时,问题就出现了。这是我尝试过的,不起作用

$.fancybox.open({
            type: 'ajax',
            ajax: {
                url: siteUrl + href,
                type: 'GET',
                headers: {
                    'fooheader' : 'bar'
                }
            },
            helpers: {
                overlay: {
                    locked: false
                }
            }
        });
当我执行前面的代码时,它会将我重定向回我单击的页面


有人有在fancybox ajax请求中添加头的经验吗?

脚本合并了
ajax
选项,并传递给jQuery ajax方法,因为设置和所有操作都很好。

在fancybox ajax请求中添加头:

<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>

$(文档).ready(函数(){
var name=“这是将发送到ajax请求中的文本”;
$(“#linkName”)。单击(函数(){
$.fancybox.showLoading();//在ajax请求之前加载程序
$.ajax({
类型:“POST”,
标题:{
“授权”:“基本XXXXXXXXXXXX”,
“X-CSRF-TOKEN”:“XXXXXXXXXXXXXXXXXXXXX”,
'内容类型':'application/json'},
cache:false,
url:“testfile.php”,//文件url
数据:“myText=”+name,//Ajax请求的数据
成功:功能(数据){
$.fancybox(数据);//将响应获取到数据变量中
}
});
返回false;
});
});

“不起作用”不是很有帮助,也许您的页面上的某个地方有语法错误?在没有看到页面的情况下是无法判断的。这就是问题所在,没有错误语法。它看起来像是扔掉了ajax选项,出于某种原因重定向到同一个url。我尝试提供更多信息,请稍候。现在的浏览器非常智能,即使在页面刷新后,您也可以检查JS错误消息,点击F12并检查控制台选项卡。
<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>