jQuery get函数无意中返回整个网页

时间:2012-08-02 23:38:39

标签: jquery html ajax get

我在使用.get调用通过页面加载或按下按钮更新元素时​​遇到问题。

代码......

$(document).ready(function() {
    //updateVariable();
    $('#dannychoolink').html('<?php dannyChoo()?>');
    $('.danny-choo').attr('target', '_blank');
});

$('#clicky').mouseenter(function() {
       $('#dannychoolink').html('Click for a Random DannyChoo.com Article');
        }).click(function() {
            updateVariable();
            $('#dannychoolink').html('YA!');
            //$('#dannychoolink').html('<?php dannyChoo()?>');
            //$('.danny-choo').attr('target', '_blank');
        });

function updateVariable() {
    $.get('random.php',
           function(output){ 
                $('#dannychoolink').html(output);
                $('.danny-choo').attr('target', '_blank');
            }
        );
};

函数updateVariable()调用random.php,它包含一个函数,它回显像这样的数据库条目:

<a href="http://www.dannychoo.com/post/en/26568/Nendoroid+Moekana.html" class="danny-choo">Nendoroid Moekana</a>

这个想法是在页面加载和点击时加载随机条目(在函数内部完成)。

这在我的主页(http://www.danielbough.com)上运行完美,但在单个文章中没有按预期工作(updateVariable函数实际上返回与单个文章页面相同的html的WHOLE页面 - 如果这是有道理的。)任何一篇文章都有一篇文章(例如http://www.danielbough.com/articles/fun-with-jquery-and-ajax。)

每个页面都是用单个文件构建的。 '主页'是

  • header.file
  • navigation.file(dannychoolink和clicky元素
    住在这里)
  • homepage.file
  • footer.file

个别文章如下:

  • header.file
  • navigation.file(dannychoolink和clicky元素
    住在这里)
  • view.file
  • footer.file

我以为我可能在view.file中有一些不匹配的标签但是没有任何我能看到的标签。

我必须在我的document.ready函数中注释updateVariable()调用,因为它会一直加载直到页面崩溃。

JavaConsole在加载单个文章页面或单击“clicky”元素时显示'Uncaught SyntaxError: Unexpected token < '。我无法确定原因。

请注意,Google+和Twitter调用也在view.file中。我在测试时删除了它们,但没有任何影响。

更新 'Uncaught SyntaxError: Unexpected token < '错误是由ckeditor.js和Googles jquery.min.js引起的。我已将Google js库更新为1.7.2的“完整版”,并删除了ckeditor.js进行测试。 java错误消失了,但get函数的问题仍然存在。

1 个答案:

答案 0 :(得分:0)

您正尝试通过相对路径访问文件,在本例中为random.php,来自服务器上的两个不同位置。在文章的案例中,你试图得到http://www.danielbough.com/articles/random.php,它只是给你一个没有内容的常规页面,这就是为什么你要引入整个html。

解决方案是给random.php一个绝对的url,我相信是http://www.danielbough.com/random.php。类似于:$.get('http://www.danielbough.com/random.php',