Jquery Fancybox发出不需要的同步请求?

Jquery Fancybox发出不需要的同步请求?,jquery,ajax,fancybox-2,Jquery,Ajax,Fancybox 2,我有一个公式,我想通过ajax提交。因此,我正在使用。嗯,这个很好用 我收到一个html页面作为结果,并希望将其传递给。但如果我要打开fancybox,我会收到一条众所周知的chrome警告: 主线程上的同步XMLHttpRequest已被弃用,因为 它会对最终用户的体验产生不利影响。要获得更多帮助, 检查 因此,我想知道两件事: 为什么会出现此警告,因为fancybox是否使用了我的ajax请求async=false或类似内容。就我所知,我查了fancybox的源代码,所以 当我再次提交表单时

我有一个公式,我想通过ajax提交。因此,我正在使用。嗯,这个很好用

我收到一个html页面作为结果,并希望将其传递给。但如果我要打开fancybox,我会收到一条众所周知的chrome警告:

主线程上的同步XMLHttpRequest已被弃用,因为 它会对最终用户的体验产生不利影响。要获得更多帮助, 检查

因此,我想知道两件事:

  • 为什么会出现此警告,因为fancybox是否使用了我的ajax请求
    async=false
    或类似内容。就我所知,我查了fancybox的源代码,所以
  • 当我再次提交表单时,为什么会出现以下错误

    未捕获的TypeError:$(…)。ajaxSubmit不是函数

    我有一种感觉,在警告出现后,导致警告的函数被从上下文中删除,因此不可调用

  • 如果我不使用fancybox——例如,当我调用
    console.log(result)
    ——我不会得到错误。所以我猜fancybox肯定出了问题

    为什么我不直接调用我想加载到fancybox内容中的页面的url,就像普通人那样?因为fancybox没有将post数据传递到url的选项,所以我需要提交表单。 发送get数据是不可能的


    下面是有问题的代码:)

    请尝试使用以下代码:

    $(domObject).ajaxSubmit({
       dataType: "html",
       async: true,
       success:  function(result) {
         $.fancybox(result, {
            padding:    0,
            margin:     0,
            content:    result,
            autoSize:   false
         });
       }
    });
    

    我发现,如果在传递给fancybox的内容中有带有src属性的脚本标记,则会出现错误

    我猜,fancybox会缓冲内容并等待所有javascript文件加载。。。但这只是一个错误的猜测,因为在带有href属性的链接标记上,该行为不会发生


    目前我可以轻松绕过这个问题,但我将为fancybox打开一个问题。

    ajax请求不是问题所在。默认情况下,async参数为true。另外,当我删除打开fancybox的代码时,appearI也没有遇到同样的问题,但是能够通过放置async:true来修复它。我知道默认情况下这是正确的,但当我明确地编写它时,它会起作用。很好,ajax调用中的脚本可能总是与主页中的其他脚本冲突
    $(domObject).ajaxSubmit({
       dataType: "html",
       async: true,
       success:  function(result) {
         $.fancybox(result, {
            padding:    0,
            margin:     0,
            content:    result,
            autoSize:   false
         });
       }
    });