客户端页面呈现,好坏(PHP + Javascript \ AJAX)

时间:2012-01-21 15:37:13

标签: php javascript ajax

我正在为Web应用程序设计后端。我处于无法与前端开发人员合作的情况。我也不喜欢内联HTML \ PHP,也无法集成模板。我的解决方案是我会保持前端与后端完全分开。前端将通过AJAX(或jQuery)与后端通信。例如,文件上传系统的工作方式如下:

        <?

            //Do stuff
            if(!isUserLoggedIn())
                die("0-Must be logged in");

            //Do more
            if(!fileIsTooBigOrNotTheRightType()) {
                die("0-Bad files");
            }

            //Do even more
            if(!move_uploaded_file($src,$dst) {
                die("0-directory error");
            }

            echo "1-Success";

        ?>

前端开发人员只需将文件AJAX发送到upload.php并解释响应并在前端采取相应的操作(显示表单,删除一些字段,显示错误消息,重定向到登录表单,等)

为了减少HTTP查询的数量,每个页面可能包含一个隐藏字段,其中包含将包含动态元素的JSON数据。例如,在私人消息系统的收件箱页面上,JSON字符串可以包括诸如新消息的数量,每个消息来自谁以及主题之类的内容。前端开发人员将能够解析该数据并以他喜欢的方式使用它,并且可以自由创建独立于我的用户友好界面。

这是2012年,我认为假设客户端拥有支持AJAX的javascript是错误的。

TLDR:我正在改变渲染页面的工作(将元素放在他们的位置)到客户端javascript。从效率的角度来看这是好还是坏?这似乎是服务器不得不做的工作。

3 个答案:

答案 0 :(得分:3)

作为前端和后端开发人员,我的一般方法是服务器端,然后是客户端。在没有任何JavaScript的情况下使应用程序完全彻底地工作,然后继续(或让前端人员)到客户端。这可确保每个人都可以使用您的应用,即使是那些不使用JavaScript的用户,例如屏幕阅读器和搜索引擎。


您所指的是一种API。您创建了界面,然后让最后的开发人员向您发出API调用。

虽然您应该非常清楚API的具体内容(您可以做什么,哪些不可以),但这是可能的。

同时确保您的安全(这样每个人都无法访问您的API)。

除此之外,你可以做到,当然,没问题。

答案 1 :(得分:1)

我的建议是为前端提供一种API。因此,前端设计人员可以开发所有HTML,并通过对后端代码进行javascript调用来填充。

我建议你以JSON格式将代码提交回javascript。 Javascript可以很好地处理JSON数据结构,然后可以使用这些数据构建要注入DOM的HTML。

答案 2 :(得分:1)

我希望我对这个问题不会太迟。 我已经做了一个基于HTML / Javascript(JQuery)的站点--AJAX - PHP,我的网站没有SEO问题,例如,谷歌关键词排名第3:免费餐厅预订。此外,Google已经提出了几种使用Javascript的方法,例如:隐藏的文字。

(我对这个问题的看法,如果我错了,请纠正我) 好: 1.更接近MVP模型; 2.结构清晰:前端用户界面,服务器端PHP / MySQL,AJAX交换数据; 3. MVP模型易于更改代码; 4.性能:2个文件的加载速度要比大文件快,前端用于数据输入和验证,服务器端用于数据处理

为: 1. Javascript可能被禁用(美国:2.06%,英国:1.29%,法国:1.46%,西班牙:1.28%,巴西:0.26%)(http://developer.yahoo.com/blogs/ydn/many-users-javascript-disabled-14121.html) 2.额外编码:JSON / JSONP,AJAX,处理PHP和Javascript中的数组。

最后,我认为“我的一般方法是服务器端,然后是客户端。”由Madara Uchiha提出的可能是更多的练习,例如,它是wordpress正在使用的。