从AJAX调用操作数据:PHP或Javascript
Manipulating Data from an AJAX Call: PHP or Javascript?
这是一个一般性问题。使用下面的示例,假设我有一个Javascript,它对PHP脚本执行AJAX调用以从数据库中提取数据。我可以选择:
a)在编码并将其发送回Javascript之前对PHP脚本本身的数据进行操作,OR;
<?php
while ($row = mysqli_fetch_assoc($result))
{
extract($row);
array_push($data, array('product' => $product, 'discount' => $price*0.15));
}
echo json_encode($data);
?>
b)从PHP脚本获取原始数据,并对Javascript进行操作。
<SCRIPT type='text/javascript'>
$.each(json, function(index, element) {
element.discount = 0.15*element.price
}
</SCRIPT>
虽然我已经知道我可以获得更好的性能(服务器端)使用选项b),我想从社区听到这是否是一个更明智的选择,是否有任何逻辑上的论点反对它,我可能忽略了。谢谢!
注意:
- 这只是一个简单的场景,计算更复杂* 0.15。 Javascript是提取数据和应用程序的必备工具工作。
当涉及到性能或执行时间时,您不希望吝啬一些事情。
- 密码学就是其中之一。
- 任何有财务方面的东西都是另一回事。
我们可以通过JavaScript在客户端层执行XYZ,但这并不意味着我们必须这样做。发生了什么
A)如果JavaScript被关闭。B)你依赖于JavaScript的post值。(想象一个购物车,它有$_POST['total_amount'],由服务器使用。我将编辑POST或隐藏的输入来获得免费的东西。
如果你所做的是纯粹的信息,那么这并不重要,但如果你依赖于任何信息,那么你应该多次检查价格。
另外,当你想开始为你的服务提供API或其他东西时会发生什么。你的运输现在是坏的,因为它不包含计算价格。
在服务器端做,在哪个层更好。正如Duncan所说,SQL可以是一种选择,或者PHP。我对这一点没有偏好,因为从一小部分物品中获得的收益基本上可以忽略不计。
在它到达PHP之前,您将在SQL中最快地完成此操作。如果javascript性能比PHP性能好,我也会感到惊讶(你怎么知道这对你更好?只是好奇……)。尽可能多地在服务器端进行操作通常是一条很好的经验法则。您总是可以添加更多的服务器等等,但是您无法控制客户端性能。
这两个选项之间的主要区别在于服务器时间,每次您需要更改数据中的任何内容时,都需要调用服务器,这将严重影响性能(从用户的角度来看)。
你可以有一个混合的方法:用所有预先计算的数据构建你的页面,并在JS中实现用于更新公式的相同过程但我建议你这样做,因为你的开发成本翻了一番,而且你将面临爆炸式的维护工作,因为很难同时保持PHP和;JS一致。
给你做选择的2个建议:
- 我认为你不应该把性能点作为你的主要目标关注的不过是功能点。做最好的产品,然后优化它,因为如果做得不好,做得快没有意义。
- 总是衡量!实现A &B、比较结果。这需要一些编码时间,但这是真正回答您的问题的唯一方法。如果这一点不够重要,不需要花时间进行AB测试,那么这两种选择在你的情况下可能都一样好
- PHP Javascript显示/隐藏按钮不工作
- php javascript代码从javascript调用php函数
- 如何在php/javascript中制作定时器和警报
- 带有数据输入的PHP/JavaScript web交互式图谱
- PHP - Javascript integration?
- 从复选框 ajax php javascript 中检索值
- 验证此图像验证码.Jquery PHP & javascript.
- Facebook PHP+JavaScript-在页面加载之前导航时出现异常
- PHP/JavaScript-检测当前打开页面的用户
- Php-Javascript-我如何知道哪些页面是彩色的,哪些是黑白的
- PHP+Javascript解析这两个响应
- 创建php/javascript倒计时计时器时出现问题
- 转换“;2012年7月15日星期日00:00:00 GMT+0700(东南亚标准时间)“;到php/javascript
- 与php/javascript函数调用混淆
- 从下拉框中获取选定的值,并使用来填充文本框php javascript
- 如何使用php+javascript更改HTML表的内容
- Php javascript不显示数据
- PHP/JavaScript MP3播放器,用于采样和销售歌曲
- Integration PHP + Javascript
- Adsense Onclick(php, javascript)