如何在完全ajax网站上处理页面导航和传入链接?

时间:2014-01-02 23:51:44

标签: javascript php jquery html ajax

我正在创建一个完全ajax网站,其中一个问题是您无法提供指向直接网页的链接。我这样做是为了每次点击ajax链接时都将页面的名称附加到url中,但现在我需要在我的主文件中使用php脚本,每次单击加载页面时都会运行该脚本。这将检查是否设置了任何get变量并将您重定向到正确的页面。例如,如果我给你这个链接http://techxpertschico/techxperts/repair,那么它应该能够将适当的内容加载到页面中,而不是带你到主页。我怀疑这看起来与下面的代码类似。我只是不知道如何在isset请求上发生ajax请求。我需要帮助搞清楚要添加到我的php脚本中的内容。

<?php
if(isset($_GET['notsurewhatgoeshere'])) { 
    //load the appropriate page using jquery
}
?>

以下是ajax请求的代码

 $('.ajaxAnchor').on('click', function (event){ 
    event.preventDefault(); 
    $('a .top').css({'background' : 'transparent'});
    $('a .top').children().css({'background' : 'transparent'});
    $(this).children().css({'background' : '#EEEEEE'});
    var url = $(this).attr('href');
    var shortened = url.substring(0,url.length - 5);
    History.pushState({state:1}, shortened, shortened);
    $.get(url, function(data) {
        $('section.center').html(data);
    });
});

如果您需要查看其他代码,请告诉我,我会添加它。谢谢!

2 个答案:

答案 0 :(得分:2)

如果您将此.htaccess文件放在网站的根目录中,并且您的服务器配置正确,它将使任何和所有网址都落在index.php上。从那里,您可以检查请求的URL并决定去哪里。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1

在Index.php中,您可以检查$ _SERVER ['REQUEST_URI']元素以分解请求的URL。

这有点微不足道,并没有100%回答你的问题,但你想做的事情的范围比一个答案要大一点。

答案 1 :(得分:-1)

不太明白你的问题,但无论如何,javascript函数可以由某个事件触发,通过页面onload,即 或按钮onclick();即点击我。 在myFunction(){你可以编写Ajax函数来执行post / get。在javascript函数中,您可以使用document.location.href ='your new http://'重新加载页面;