为什么使用 jquery ajax load 时没有定义 jquery pjax
Why jquery pjax is not defined when using jquery ajax load
为什么 jquery pjax 没有在 js 文件中定义,但如果我键入 $.pjax
function loadScript(url, callback) {
callback = (typeof callback != 'undefined') ? callback : {};
$.ajax({
type: "GET",
url: url,
success: callback,
dataType: "script",
cache: true,
});
}
$('document').ready(function() {
$.when(
loadScript('//cdnjs.cloudflare.com/ajax/libs/codemirror/5.10.0/codemirror.min.js'),
loadScript('//cdnjs.cloudflare.com/ajax/libs/jquery.pjax/1.9.6/jquery.pjax.min.js')
).done(function() {
$('.loading').hide().next().css({
'visibility': 'visible',
'overflow-y': 'auto',
});
console.log($.pjax() + ' ...');
});
});
它控制台此错误:Uncaught TypeError: $.pjax is not a function
你的 loadScript 函数不返回承诺,所以从 $.when 的角度来看,你的脚本会立即加载,这不是现实。
尝试更改行:
$.ajax({
// ...
})
自
return $.ajax({
// ...
});
所以你返回一个 $.when 的承诺
您这里有两个问题。
-
您必须返回由 $.ajax 返回的承诺
-
$.当接受一个参数是数组时
即
function loadScript(...) {
...
return $.ajax
}
$.when([loadScript('a'), loadScript('b')]).then(...)
相关文章:
- jQuery自定义验证比较多个输入的序列
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- Jquery未定义函数正在停止其他操作
- jQuery工具验证器自定义效果-添加&消除影响
- Wordpress中带有JQuery Accordion的未定义匿名函数
- 如何在WordPress的头中加载自定义jQuery
- 用户在noConflict mod中使用jQuery定义函数
- PHP/JQUERY定义包含的页面
- 如何在 js 中调用使用 jquery 定义的函数
- Jquery定义了一个$(this)变量,以便在许多函数中重用
- 如何使用JQuery定义Twitter推文的宽度
- 使用jQuery定义onInput事件创建元素
- 如何在新选项卡中打开jquery定义的链接
- 使用JQuery定义的Typescript和文件上传
- 使用jQuery定义带连字符的属性
- 使用JavaScript或jQuery定义全局CSS类
- 使用jquery定义如何在基于网格的数据表插件中添加自定义链接按钮
- 在用jQuery定义的元素上运行JavaScript函数
- clearInterval 和 jQuery..定义!+ 小提琴