javascript - 为什么使用jquery ajax加载时没有定义jquery pjax

标签 javascript jquery pjax

为什么 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 函数不会返回 promise ,因此从 $.when 的 Angular 来看,您的脚本会立即加载,但这不是现实。

尝试更改线路:

$.ajax({
// ...
})

return $.ajax({
// ...
});

所以你返回一个 $.when 的 promise

关于javascript - 为什么使用jquery ajax加载时没有定义jquery pjax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34841685/

相关文章:

javascript - 下拉菜单关闭掉 Angular 图标

javascript - 通过元素名称定位父窗口元素

jquery - 我可以使用 jQuery 验证库为每个输入添加规则吗?

javascript - AJAX模板渲染后的PJAX

search - Yii2 GridView pjax 按键搜索

javascript - 谷歌地图未全宽显示

javascript - 如何在 mongodb 的嵌套子数组中使用 $filter ?

javascript - 将 document.getElementById 存储在变量中?

jquery - 使用 CSS 和 jQuery 检测所选行的前一行

javascript - 按钮在 Pjax Reload 上不起作用