本人是php开发新人,老大要我们用css+html来编写页面,然后用ajax来异步加载php后台传递过来的数据,每个页面都要这么设计。不知道这样设计合不合理?而且一个页面可能用多个ajax来加载数据,这样做用户体验会不会不好?服务器压力大不大啊?本人只会用把php代码内嵌到html里这种方式来写页面,但老大说这样做不好,一方面代码的阅读性比较差,而且以后不好加数据缓存。╮(╯▽╰)╭,真心杯具啊~~~

解决方案 »

  1.   

    俺也想知道啊。  最近研究PHP  很多搞不懂。 。
      

  2.   

    这个在编程逻辑上是合理的,前后端分离
    但实际上就不好使,至少目前是这样,不能太多ajax,除非网络状况非常完美,例如相当于100M光纤的网速你的老大可能只想传个json——最小数据,就让客户端完成展示
    我只能说这样完全不考虑客户体验的公司将来发展会步履艰难
      

  3.   

    忍不住多说几句废话吧——做事情一定要有最坏的打算,最好的准备对网页来说,最坏的结果是什么?——网页不能显示(当然没有最坏,只有更坏就是浏览器崩溃)
    废话两段历史:
    1.HTML5怎样诞生的?w3c本打算html4为html的最终版本,以xhtml/xml为后续发展方向,但浏览器商私下结盟,诞生了新协议html5(确实,不是w3c催生的产物)并反向围剿强迫w3c接受承认此协议,理由很简单且强有力——xhtml只要漏掉一个尖括号,整个网页就不能显示,只有一句出错信息……
    2.个人经历,在flash面世某段时期,某大型硬件卖场在其首页为了效果,做了数十个“小”flash,当时并无flashblock之类的东西,我的机器几乎每次访问就要崩溃,结果就是我在很长一段时间都不再访问该网站,也在很长一段时间作为一个做网页的人居然对flash产生厌恶感……至今
    一个ajax就是一个请求,虽然ajax本身有队列机制,但对服务器来说就是并发数(自己google一下并发数)
    你想想网络状况不好(指客户端)时,总会有请求失败的话,这时客户会怎么做?我告诉你90%以上都是按F5刷新的,这是一个什么结果?想想吧我至今仍坚守一个古板固执的原则:不在flash上面做重要的(或唯一的)导航链接,可能很多人想——客户用flashblock看不到是他自己的事,损失是他自己,我又不能左右人家的想法——但实际呢?就算你是中石油,他也能跑去中石化啊,客户并不觉得自己损失了,所以结果损失方只是网站这边
      

  4.   

    一到早来就看到楼上的回复,真心非常感谢哇~~就是因为每当有一个ajax请求时,对WEB服务器就会有一个请求数,而且每个ajax请求基本上都会去进行一次数据库查询,所以担心用户在带宽并不是很理想的情况下,估计用户的体验会很差的啊,而且服务器压力也会比较大。
    我在想用smarty模板来进行页面和数据的分离会不会好一些,而且可以通过模板来实现首页的静态化和页面缓存,如果进一步通过memorycached来缓存数据,应该可以减轻web服务器和数据库服务器的压力。
    关键是老大觉得不需要用smarty模板,而且加不加数据缓存还要等到运营阶段来决定。我真心觉得不知道咋搞了哇~~PS:我没用过smarty模板,也没用过memorycached,只知道这些理论构架,╮(╯▽╰)╭
      

  5.   

    ajax是个好东西,善用能给客户很好的体验,我上面说的仅是针对滥用的情况
    任何东西都有个度,做好平衡是关键
      

  6.   

    已经在多个项目上部署这种 ajax读数据 前端展示的结构,未发现什么服务器撑不住各种崩溃事件,但是这里不考虑搜索引擎的收录问题(据说搜索引擎对JS 的识别能力有待提高).
      

  7.   

    楼主的题目和需求不一致、如果可能可以考虑CMS系统,如果不行可以考虑原生的php代码做项目。
      

  8.   

    本帖最后由 xuzuning 于 2012-12-13 10:26:47 编辑
      

  9.   

    谢谢斑竹哇~~如果不会出现服务器性能问题我就放心了啊。
    另外,我想把通过ajax查询的数据库数据缓存到文件里,因为我的页面数据显示不需要很实时的,估计每天更新一次就可以了。另外,我觉得把数据缓存到文件里,定时更新的话也可以减轻数据库服务器的压力。不知道这样做合不合适~~~
      

  10.   

    本帖最后由 PhpNewnew 于 2012-12-13 12:27:07 编辑
      

  11.   

    是的啊,部门内容可以不是很实时的,但是有部门是需要实时的用户查询啊。实时那部分我就直接ajax查询来做,不是很实时那部门我想用文件缓存定时更新来实现,就是不知道啊有人这样做的啊,思路对不对啊?
      

  12.   

    應該是Restful這個中構架吧
    前臺通過訪問接口拿到數據 再用js呈現數據
    這樣就以了啊
    不需要把php和html混在一起了
      

  13.   

    思路蛮好,但是不太现实,小站可以这样搞搞,大站不可能的,如要想程序和HTML分离可以用smarty啊
      

  14.   

    javascript这几年发展很快,模块化开发,mvc都不是问题了,引入requirejs,backbone.js,真要做不是问题,单页单入口,所有换页操作都是dom操作,因为js文件只加载一次,所以js可以开缓存容器,缓存不是问题。
    问题是我的需求是做移动应用,你们搞普通的web端网页也弄这个感觉没必要。
      

  15.   

    我也是这么弄得,php就单纯是个api服务端。
      

  16.   

    斑竹,我的目标是像14楼说的那样来进行WEB开发,不知道这样做可行性怎样啊?
    老网站目前的日访问量PV大概在20000多,用上面的方法来开发的话服务器能承受的住不
      

  17.   


    2w pv 不算多...小部分
      

  18.   

    2W 的pv 服务器不是很差 应该可以扛得住的 实在不行就用集群了