【问题标题】:jQuery getJSON urljQuery getJSON 网址
【发布时间】:2013-05-26 11:58:32
【问题描述】:

我在我的网站中设置了一个 twitter 提要,当您使用根页面(即 www.domain.com/index.php)访问它时它可以正常工作

但是,当您的网址为 www.domain.com/category/page 时,它​​不起作用,但是如果您使用 www.domain.com/index.php?cat=category&page=page 它就可以正常工作。

所以在 javascript 中我有以下内容

jQuery(function() {
    jQuery.getJSON('cache/twitter-json.txt', function(data){
    jQuery.each(data, function(index, item){
    jQuery('#tweet').append('code for displaying tweet');
});
});

所以我尝试将 getJSON 函数中的 url 更改为完整路径 www.domain.com/cache/twitter-json.txt 但这不起作用。

【问题讨论】:

    标签: php javascript json twitter


    【解决方案1】:

    试试:

    jQuery.getJSON('/cache/twitter-json.txt', function(data){
    

    相对 URL 被解释为相对于包含引用的页面的目录。因此,当您从www.domain.com/category/page 拨打上述电话时​​,它会尝试转到www.domain.com/category/cache/twitter-json.txt

    如果你想使用完整的URL,你需要在主机名前加上//,例如

    jQuery.getJSON('//www.domain.com/cache/twitter-json.txt', function(data){
    

    否则,它认为www.domain.com/只是另一级目录。

    【讨论】:

    • 感谢 Barmar 说得通,但不幸的是,这并没有修复它,它也停止在 domain.com/index.php 中工作
    • 也许有一个重写规则弄乱了它?否则,它应该像这样工作。
    • 我唯一的重写规则是 RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L] RewriteRule ^([^/\.]+) /([^/\.]+)/?$ index.php?page=$1&game=$2 [L]
    • 您能否检查您的访问日志以查看它尝试访问的 twitter-json.txt 的 URL,并将其与文件的实际位置进行比较?
    • 那里没有什么可以说明问题的原因,文件路径看起来正确
    【解决方案2】:

    改变

    jQuery.getJSON('cache/twitter-json.txt', function(data){
    

    jQuery.getJSON('/cache/twitter-json.txt', function(data){
    

    【讨论】:

      【解决方案3】:

      也许它有助于在你的 html 中设置基础

      <base href="http://myserver/dir1/">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 2020-05-20
        • 2011-05-07
        • 2010-12-09
        相关资源
        最近更新 更多