通过链接在页面上加载新内容而不更改URL


Loading new content on the page via a link without changing the URL

我在一个类似facebook的社交网站上工作。但是,我在编程中面临着一个相当困惑的阶段。

我已经完成了注册/登录/注销页面/脚本,您可以使用www.mywebsite.com/profile.php查看配置文件。

现在,我想做什么facebook做,允许用户点击链接,而在他们的个人资料页面(信息,笔记,照片),但从来没有真正离开www.mywebsite.com/profile.php -只是适当的内容打印到屏幕上。

这是怎么做的?我不是要求任何人为我编写代码,只是指出我在正确的方向!

您可以使用Ajax实现此目的。

把你想要替换的内容放在一个div中,使用ajax替换那个div,并且只发送那个内容。

你想做这样的事情吗?

http://www.99points.info/2010/05/how-to-create-dynamic-content-loading-using-ajax-jquery/

这将不得不通过Javascript和Ajax来完成。

点击链接时会触发一个javascript函数。ajax请求被发送到相应的php脚本,该脚本将响应发送回javascript函数。然后解析该响应并将其显示在屏幕上。

如果你这样做,有一个后备选项,不依赖于javascript以及,以防用户已经关闭了JS

你可以使用这个引用…

函数showdiv (id){如果(id){

var selected_offer="yourpagename.php"
HTML_AJAX.replace('divname',selected_offer);

}

}

调用showdiv on onChange()函数…

为此,您需要称为Ajax的技术,它是异步JavaScript和XML的简称。其基本思想是,当用户执行某些操作(在您的示例中是单击链接或按钮)而不是加载页面时,将运行一个脚本,该脚本调用服务器端脚本来发回一些数据。这有时是XML,但也可以得到其他类型的数据。异步部分是用户和页面可以继续做其他事情,同时等待脚本返回您所请求的数据。

有一本适合Ajax初学者的书,我自己读过:Head First Ajax。看起来你花10美元就能买到一本二手的。这是一个很好的介绍,有一个古怪的风格吸引了一些人,作者尽他们所能来吸引你的注意力。硬核程序员可能不喜欢这篇文章,但我觉得你是新手,这可能是一本不错的读物。否则,谷歌一下"学习Ajax",就会有海量的资源。

祝你好运!

为了回应你的评论,你可以设置一个"router"脚本,它接受输入并运行一个特定的函数作为响应。这个"路由器"函数从$_GET[]超全局变量中查找类似"action"这样的参数,然后调用相应的函数。如果没有action参数发送过来,路由器调用一个默认函数。

现在来看更多的细节。您的页面脚本将包含3个基本部分:路由器、各种操作函数和页面模板函数。路由器只是从action函数中调用相应的函数,并将输出传递给模板函数。以下是一些例子。

用户到达index.php页面。没有指定任何动作,所以路由器会找到$_GET['action'] == ",然后调用default_action()。这将返回一条欢迎消息、状态等,然后路由器将该输出传递给显示页面的函数(包括输出)。

现在用户点击更新链接/按钮,到达index.php?action=update。$_GET['action'] == 'update',所以路由器调用update_action()。输出将转到模板函数中进行显示。

这是否有助于你设想如何实现这个目标?