1

可以说我想做JS执行,就像处理Javascript元素,但在服务器上而不是暴露客户端JS文件上的代码。Javascript:如何在服务器端执行(后端)?

喜欢的东西,可以说:

  1. 从浏览器的侧面,可以说,我会得到JS本地window对象。
  2. 然后我想通过它通过Ajax,或任何到后端,使所有的Javascript处理工作(上window对象)在后端。作为一个非常简单的例子(在后端JS服务器上做):
    • 解析window.location并做一些与之相关的编码。
    • 解析window.document并做一些与之相关的编码。
  3. 然后返回到浏览器与相应的成果,然后等..

因此,这意味着,(基于这个简单的例子),我想执行的解析和任何编码工作,与window.location相关& window.document对象,位于后端(另一个)服务器中。只需将此window对象传递给它即可。 (然后将已处理的结果返回给浏览器)所以用户不会看到我正在用这个window对象做什么。

**以上只是一个简单的例子。实际上,我想传递一些更复杂的JS对象并在后端进行处理。

这里很明显的一点是,我不希望我的主要JS处理代码暴露给用户。

  1. 请问这是“概念”吗?
  2. (如果可能的话,什么是这种理想的方法?)特别为后台,我应该怎么运行以及如何,好吗?

感谢

+0

JS是一个前端的东西。所有描述的内容都可以用任何后端语言(例如PHP)来完成。 – WhiteAngel 2014-09-30 06:57:13

+3

答案在于你的标签:'node.js'&'jquery'。 – haim770 2014-09-30 06:57:23

+0

您需要运行某种AJAX功能将对象发送到服务器进行操作。一旦服务器端处理完成,你需要JS来运行客户端上的更改 – jasonscript 2014-09-30 06:58:03

回答

1

不,你描述这是不可能的。

如果您的服务器有引擎来运行脚本,则JavaScript可以在服务器上运行。您标记的Node.js就是一个很好的例子。

但是,服务器和客户端仍然是分开的。服务器不能直接修改加载到客户端的元素。服务器向客户端提供页面或其他信息,客户端可以处理这些信息。

因此,您可以向服务器发出AJAX请求以执行某些逻辑。这个逻辑可以由PHP和Node.js执行,但是当涉及修改DOM时,没有太大的区别。

虽然Node.js可能会有帮助。它也支持DOM,我认为你甚至可以使用jQuery,所以与PHP相比,你可以用类似于客户端的方式进行DOM操作。它为您节省了一门学习语言,但客户端/服务器处理仍然是分开的。您不能将包含所有数据和附加事件的元素发送到服务器。您最多可以发送序列化对象。

+0

我实际上已经更新了我的问题,更确切地说。请再次查看它。谢谢。 – 2014-09-30 07:31:52

+0

我看到更新。实质上,问题依然如此,答案也是这样:您不能通过线路发送完整的对象。您只能发送数据。所以如果你点击一个按钮时需要处理一些东西,你将不得不发布一些数据,或者做一个AJAX请求来发送数据,并且你会得到一个页面或一大块数据。 – GolezTrol 2014-09-30 07:43:45

+0

对不起,但让我再次确认。所以你的意思是..我不能将Javascript对象传递给后端(处理)?甚至没有Node.js? (或者,'node.js'是解决方案吗?) – 2014-09-30 07:48:59

-4

Javascript是一种客户端编程语言,所有代码在运行时由客户端机器上的浏览器解释。所以简短的回答是否定的。

对于服务器端代码,请使用服务器端编程语言,如PHP,ASP.NET或ColdFusion。

+2

服务器端JavaScript是由Netscape在1994年引入的。没错,在浏览器中引入前一年(如LiveScript)。今天,您可以选择任何这些[服务器端JavaScript解决方案](https://en.wikipedia.org/wiki/Comparison_of_server- side_JavaScript_solutions)。 – GolezTrol 2014-09-30 07:06:22