【问题标题】:Odd Javascript behavior - porting to WordPress奇怪的 Javascript 行为 - 移植到 WordPress
【发布时间】:2017-01-25 13:00:14
【问题描述】:

我目前正在第一次尝试将网页移植到 Wordpress,请原谅我在该主题上缺乏经验。

在我的页面中,我有以下代码:

函数工作负载(){ $.ajaxSetup({ 缓存: false }); $('.thumb-unit').click(function() { var $this = $(this), newTitle = $this.find('strong').text(), newFolder = $this.data('文件夹'), spinner = '加载中...', newHTML = 'work/'+ newFolder +'.html'; $('.project-load').html(spinner).load(newHTML); $('.project-title').text(newTitle); }); }

过去,这在本地和 Github 上都运行良好。但是,通过 MAMP 在本地运行我的 wordpress 构建会出现以下错误:

jquery-2.1.1.min.js:4 GET http://localhost/work/proj-1.html?_=1485348127113 404(未找到)

URL 应该没问题,除了添加 ?_=(number) 的部分。我不熟悉这种行为或导致它的原因。我尝试将 work/ 更改为 /work/,因为 dir 位于根文件夹中,但这并没有解决它。我也尝试过将变量更改为 newHTML = '< ?php bloginfo('template_directory')' + '/work/'+ newFolder +'.html';左括号后没有空格,但无济于事。我也尝试将该位放入它自己的 var 中,但它不断将 ?_=1485348127113 添加到我要加载的 html 文件的 URL,从而导致 404 错误。

这是什么原因造成的?提前感谢您可以分享的任何建议。

【问题讨论】:

    标签: javascript jquery ajax wordpress


    【解决方案1】:

    添加此时间戳是为了让您使用 ajax 加载获取文件的最新版本。 如果您想禁用此行为,您应该设置

    $.ajaxSetup({
        cache: true
    });
    

    这将启用缓存,您的请求将不再包含 ?_=1485348127113 部分。此参数不应导致 404 not found 错误。请检查您的路径。

    【讨论】:

    • 感谢您的见解@Sebastian Krysiak。路径应该是正确的,但我回家后会仔细检查。 Chrome 开发人员工具列出了包括时间戳在内的整个文件名,所以我猜在时间戳干扰脚本的地方存在冲突。我会尝试您的解决方案并回复您。干杯!
    • 只是想让您知道您是对的:问题在于文件夹结构以及文件路径。再次感谢您的帮助!
    • @Max de Ruiter 很高兴我能帮上忙 :)
    猜你喜欢
    • 1970-01-01
    • 2013-01-20
    • 2018-03-04
    • 1970-01-01
    • 2011-07-28
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多