gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:54:01 30 4
gpt4 key购买 nike

我有公式,我想通过ajax提交。因此我使用 jquery form plugin 。嗯,这很好用。

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

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.

因此,我想知道两件事:

  1. 为什么会出现这个警告,因为fancybox和我的ajax请求是否使用了async = false之类的。嗯,据我所知,我检查了 fancybox 的源代码,所以...
  2. 当我尝试第二次提交表单时,为什么会出现以下错误?

    Uncaught TypeError: $(...).ajaxSubmit is not a function.

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

如果我不使用 fancybox - 例如,当我只调用 console.log(result) - 我不会收到错误。所以我猜,fancybox 一定出了问题。

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

<小时/>

这是有问题的代码:)

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

最佳答案

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

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

目前我可以轻松绕过这个问题,但我会为 fancybox 提出一个问题。

关于jquery - Fancybox 发出不需要的同步请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31207871/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com