一个在同一位置更新的PHP计算器
A PHP calculator which updates in the same place
我最初打算创建一个经典的"键入时更新"基于Javascript的养老金计算器,但不希望用户能够通过下载.js文件来查看业务逻辑。然而,似乎没有一种健壮的方法来保护.js文件中的业务逻辑。
因此,我现在要把计算逻辑放在PHP的服务器上。关于创建一个提交到另一个列出输出的页面的表单,有很多材料。然而,我的计算器是主页上的一个侧栏,我希望用户单击"计算",结果将显示在同一个框中,而不会被带到单独的页面。
这可行吗?如果可行,你会对解决方案的架构提出什么建议?(例如,将计算逻辑保持在.php中,并且仍然使用xyz等通过Javascript调用它)。寻求指导和设计建议。目标是一个具有合理复杂逻辑但没有数据库查找的计算器,最重要的是,用户不能移动到单独的页面。
非常感谢。2012年8月3日
编辑(2012年12月17日):所以四个月后,我终于破解了它!看看www.pencalc.org,它演示了我试图构建的东西。使用Javascript异步调用基于PHP的计算。谢谢你们的帮助。
knittl和sachleen一直在把你推向正确的方向,但我觉得需要一个更完整的答案。
如果您不想向最终用户公开您的业务逻辑,您可以使用js/AAJAX将表单自动提交到PHP脚本。然后脚本为计算器计算一些值,然后只打印该值(比如,20.45美元)。JS最终会看到PHP脚本的响应。一旦您从服务器获得了值,就将该值转储到计算器中的相关字段中。现在,用户所能看到的只是一堆JS,它们将用户的数据发布到PHP脚本中。
然而,我会看看JQuery,它有助于自动化AJAX的许多工作以及任何涉及操纵DOM的工作。
您可以在JavaScript:中不使用任何业务逻辑来实现这一点
- 使用jQuery.data或类似的东西
- 当用户单击"计算"时,通过AJAX将这些数据发送到PHP脚本
- PHP处理请求并输出结果
- javascript将结果放回DOM中
您的业务逻辑将在PHP页面中。它将接收来自$_POST
阵列的输入并处理数据,并回显输出。
看看jQuery的.post()
,了解如何发出POST请求。您使用输入发出请求,然后从PHP获得输出。然后,您可以使用.text()
或.val()
或类似的方法显示数据。
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- $rootScope未使用forEach进行更新
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- Angular:更新一次性绑定的数据
- Javascript更新孙窗口中的表单元素
- 使用AngularJS中的筛选器更新给定的表
- 从选项页面更新chrome扩展清单权限
- 如何在运行总计计算器时返回表单输入并更新 JavaScript 变量
- 一个在同一位置更新的PHP计算器
- 实时自动更新的jQuery/Javascript计算器(猜测AJAX)
- 更新Javascript货币计算器以实时计算多个总额
- jQuery UI滑块在BMI计算器中没有正确更新
- 实时更新Javascript计算器的答案