web页面渲染是采用php渲染好,还是采用ajax方式渲染好?
现在公司的管理后台页面基本上ajax来渲染页面,把js禁用掉整个页面就废了,页面的接口太多,比方一个分页功能都是js全部渲染出来的,我觉得php与ajax 混合使用是最好的, 各位大牛提提意见呗。
回复内容:
1、到今天,几乎没人会禁掉js。2、php生成全部代码,肯定比只生成框架,然后ajax要快。原因是,两种情况下,你的网线传输的数据K数基本是一样的,如果js执行innerHTML的话,会修改dom,造成重绘和重排,代价比较大。即使php只负责框子,但一般php项目都是使用了模板引擎的,即使提供框子也需要动用模板引擎,那么模板引擎处理框子和处理全部内容,是几乎感觉不出时间区别的。如果数据量大,那么ajax的优势是可以分段下载数据,这样就显得比php快。
3、忽略php比ajax快这种情况,它们的区别就是看使用场合,而且没有必须的规则,所以不要太较真。
ajax永远是跟“安全”的“频繁更新”的“格式的批量数据”以及“数据缓存”相关,而且用户没有欲望看旧的数据,也就是说,用户没兴趣、没必要点后退键,看老数据。因为ajax默认不支持后退键,如果想实现后退,需要做大量的工作。
也就是说:
A、如果抓的数据是敏感的,那么不要ajax,不敏感的话就可以ajax。如果抓的不是格式的批量数据,而是别的东西,比如抓了一条视频地址,即然只有一条,没必要ajax。如果预判用户会查阅大量的数据,那么用ajax先抓一批数据(或者首批数据用php输出),然后后台慢慢悠悠的再继续抓其他数据,然后缓存起来,这时候用ajax。
B、如果你的页面呈现完毕之后处于数据静止状态(不进行数据频繁更新),那就肯定是用php。(如果页面显示了当天日期,昨天是15日,今天是16日,也认为是数据静止。如果在某个位置显示了你的用户名,也认为是数据静止。)
C、如果你的页面呈现完毕之后不处于数据静止状态,也就是说在你观看页面的几十秒期间内,服务器数据库就有了大批量的数据更新,而且你有必要马上看到这些更新,那么就用ajax。或者说你的页面打开之后可能需要保持半小时、一小时不关闭,而且要随时看到数据更新,那肯定要用ajax。
从上述我的理论来讲,笼统说,你的公司内部网站,大量利用php,加上一丢丢的ajax,就对了。
关于分页,有人说用ajax来获取分页信息,岂不是美哉?这里道理其实是一样的,列表可以视为格式的批量数据,而且缓存有利于翻页,所以可以ajax。但是有可能列表页更新很慢,几天几周才新增一条,那又可以考虑php。所以这次就看情况而定。
如果一个网页展示了不算多的三四十条批量数据,今天是这些数据,明天仍是这些数据,没变过,这时候尽管符合“格式的批量数据”,但也推荐php,不推荐ajax。所以我才说,公司内网,可以大量用php。
对于php生成了html的情况,那就跟php无关了,如果一个html页面内的数据总要更新,当然ajax,没疑问。 公司这么做是有原因的 以后做 手机端 ios android 后台不用变 不用做兼容 现在这几个回答的都不知道是什么鬼…
题主说了是管理系统啊,很明显就是内部使用的。
这种应用特点就是交互暴多,访问速度并不重要,开发投入资源偏少。这种情况下用偏前端的架构(angular,vue,react……),很明显在这个场景下,这就是最优解,这样开发效率更高,维护更舒服
如果这种应用用php直出吐页面,再加jquery,jquerytable什么的做交互。维护起来你会想死的,不说别的,新增一个管理面板就得赫呲赫呲的写成百上千行的js 用ajax渲染页面,我这边称为是云端结构的web架构。因为现在做移动端开发的项目占了主要市场(如微信微网站开发),不用考虑SEO的情况下,云端结构要比混合渲染要好。这个好主要源于软件工程开发要点的三个方面:灵活性、拓展性和重用性。
1、重用性。如果是用混合渲染,前端很少使用框架,使用也只是类似bootstrap这样的CSS框架,难以构建JS的底层架构。这样就极大的限制了前端的重用性。
2、灵活性。云端结构的开发,前端技术员可以完全独立出来构建页面,后端技术员只需要按照需求提供必要的接口就可以了。
3、扩展性。构建好一个好的前端底层,迭代新功能新页面非常方便。 如果你只是一个简单的页面,PHP直接来比较简单。但有一种情况:页面内容较多的长页面;并发量较大。
那么,PHP渲染结构,ajax渲染细节,就体现出威力了。这样可以更快地响应客户端(服务器处理的逻辑少了),用户能更快地看到东西,而不是浏览器转圈圈。
之后的ajax,也只是数据传递,渲染结构还是在浏览器,服务器少了很多字符串的操作,必然比一次性在服务端渲染要好。
更甚至说,你可以把每个区域的请求分发到不同的业务系统,做好跨域就行了。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

숙련된 PHP 개발자라면 이미 그런 일을 해왔다는 느낌을 받을 것입니다. 귀하는 상당한 수의 애플리케이션을 개발하고, 수백만 줄의 코드를 디버깅하고, 여러 스크립트를 수정하여 작업을 수행했습니다.

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다.
