偶尔我会搜索一些JavaScript帮助,然后我会遇到"服务器端JavaScript"这个术语.你什么时候使用JavaScript服务器端?如何?
我的JavaScript体验一直在浏览器中.是否有JS的编译版本?
到现在为止,我主要是利用Struts 2,Spring,JQuery用于构建Web应用程序技术堆栈.关键是,提到的堆栈使用服务器端MVC模式.Web浏览器的主要作用仅限于请求/响应周期(+客户端验证).数据检索,业务逻辑,布线和验证主要是服务器端的职责.
我对AngularJS框架的几个问题很少受到我读过的以下引文的启发:
来自AngularJS教程:
对于Angular应用程序,我们鼓励使用模型 - 视图 - 控制器(MVC)设计模式来分离代码并分离关注点.
模型 - 视图 - 控制器(MVC)是一种将信息表示与用户与之交互分离的体系结构.该模型由应用程序数据和业务规则组成,控制器调解输入,将其转换为模型或视图的命令
AngularJS使用客户端MVC模式.所以我想没有其他选择那么以某种方式也将验证逻辑包含在客户端?
编写健壮的AngularJS应用程序的最佳方法是什么?客户端的MVC和服务器端的某种MC(型号,控制器)?
这是否意味着,MODEL和CONTROLLER在某种程度上是重复的(客户端/服务器)?
我知道我的问题有些奇怪,但我认为原因是,我在某种程度上习惯了传统的服务器端MVC模式.我确信有人已经完成了相同的过渡.
javascript model-view-controller server-side client-side angularjs
在HTML5 SSE和直接的Ajax轮询之间是否存在很大差异(在性能,浏览器实现可用性,服务器负载等方面)?从服务器端看,它似乎EventSource只是每隔约3秒左右点击指定的页面(虽然我知道时间是灵活的).
当然,在客户端设置比设置定时器并且$.get经常使用它更简单,但还有其他什么吗?它会发送更少的标题,还是做其他一些我不知道的魔法?
html5 server-side javascript-events ajax-polling server-sent-events
我对此有点困惑,我觉得这个问题有点愚蠢,但我想理解它.
所以,假设我正在使用客户端Web框架,如Backbone,Angular或Durandal.该框架包括路由.
但我当然还有一个服务器用于数据库的东西,等等,它也有路由.
我现在的问题是:
何时使用"客户端路由"或"服务器端路由"?
如何"决定"是否已在客户端执行路由或请求是否首先发送到Web服务器?
我很难想象这一点,因为客户端可以在服务器了解该请求之前进行路由.
如果有人能解释这两个路由系统如何协同工作,我将非常感激.
PS:我没有包含代码示例,因为我不是在寻找有关特定框架的答案,而是关于一般的路由过程.
我正在尝试验证自动更新的In App购买是否已过期服务器端(不在设备上).
我正在使用Apple的Grand Unified Receipt(iOS 7风格的交易).由苹果返回的响应中包含in_app与latest_receipt_info用收据的一个数组元素.该in_appJSON元素包含LESS比收据latest_receipt_info.我期待两个元素包含相同的数字或收据.
此外,我期待该in_app元素将包含所有收据.但是,它似乎latest_receipt_info实际上包含所有收据.Apple文档似乎建议in_app用于查找最新收据.
我很惊讶地看到,latest_receipt_info因为Apple的文档声明这个元素是
"仅针对自动续订订阅的iOS 6样式交易收据返回".(不是iOS 7+).
我应该迭代哪个JSON元素来查找自动更新iOS 7样式事务的最新收据:in_app或者latest_receipt_info?
处理分页最好的是什么?服务器端还是使用javascript动态执行?
我正在研究一个对ajax很重要并且动态提取数据的项目,所以我一直在研究一个使用dom的javascript分页系统 - 但我开始认为处理它会更好服务器端.
每个人的想法是什么?
我希望从PHP发送HTTP GET请求.例:
http://tracker.example.com?product_number=5230&price=123.52
Run Code Online (Sandbox Code Playgroud)
我们的想法是进行服务器端网络分析:服务器不是将跟踪信息从JavaScript发送到服务器,而是将跟踪信息直接发送到另一台服务器.
要求:
请求应该花费尽可能少的时间,以便不会明显延迟PHP页面的处理.
tracker.example.com不需要检查来自的响应.作为示例,一些可能的响应来自
tracker.example.com:
200:没关系,但不需要检查.
404:运气不好,但是 - 再次 - 不需要检查.
301:虽然重定向是合适的,但它会延迟PHP页面的处理,所以不要这样做.
简而言之:可以丢弃所有回复.
解决方案的想法:
在一个现在删除的答案中,有人建议在shell进程中从PHP 调用命令行 curl.这似乎是一个好主意,只是我不知道在重负载下分配大量shell进程是否明智.
我找到了php-ga,一个用于从PHP进行服务器端Google Analytics的软件包.在项目的页面上,提到:"可以配置为使用非阻塞请求." 到目前为止,我还没有时间研究php-ga内部使用的方法,但这种方法可能就是这样!
简而言之:从PHP进行通用服务器端跟踪/分析的最佳解决方案是什么.
http://example.com/something/somewhere//somehow/script.js
Run Code Online (Sandbox Code Playgroud)
双斜线是否会破坏服务器端的任何内容?我有一个解析URL的脚本,我想知道如果我用一个斜杠替换多个斜杠,它是否会破坏任何东西(或更改路径).特别是在服务器端,CodeIgniter和Joomla等一些框架使用分段url方案和路由.我只是想知道它是否会破坏任何东西.
我们都知道旧的"禁用提交按钮"技巧,但处理多个提交服务器端的最佳方法是什么?我有一个应用程序,一个表单只发送一次绝对至关重要 - 它处理一张信用卡.我没有写出它现在是怎么回事,但作为一个快速解决方案我投入了禁用提交技术,但是一些不耐烦的用户已经被禁用了两次.
那么,有什么方法可以避免这种情况呢?我可以想到一些 - 我过去曾使用过一些 - 但我想看看是否有任何关于如何解决这个问题的"最佳实践".我正在使用PHP,但我对概念更感兴趣.
编辑:我知道令牌技术,这是我过去使用的,这个问题或多或少是为了看看我的方法是否与其他优秀的程序员使用的方法一致.
server-side ×10
client-side ×3
javascript ×3
ajax-polling ×1
angularjs ×1
browser ×1
curl ×1
html5 ×1
http ×1
in-app ×1
ios ×1
pagination ×1
php ×1
routing ×1
subscription ×1
url ×1
url-routing ×1
validation ×1