Ajax调用PHP从Javascript迁移到Node.js和Express

新手web开发人员。</ p>

现在我有一个应用程序需要 来自呈现给用户的页面的信息,并使用此信息对运行算法的一些PHP代码进行ajax调用并返回答案。</ p>

前端代码用vanilla html编写 和javascript(使用jQuery)进行ajax调用。 一切都在同一台机器上。</ p>

现在我想改变设计:我想在我的机器上保持所有PHP代码完全相同,但我想 将前端代码从vanilla html / javascript迁移到Parse.com的“Cloud Code”,这显然是一个名为Express的Node.js框架。 所以代码的物理位置也会发生变化:PHP算法会出现在我的机器上,但现在用户正在为Parse.com提供服务。</ p>

我不能 在云代码中使用jQuery进行相同的ajax调用,因为我假设我会遇到同源政策。 我也不想从Javascript调用,因为我不再希望在浏览器上查看这些信息:我想直接从Parse数据库获取数据,将其传递给我的PHP代码,然后拥有它 返回一个答案,以便我可以向用户显示 </ em>。 一直到向用户显示答案,我希望这些数据对用户隐藏,因此他不知道从Parse DB中获取了什么,或者什么数据被传递到我的服务器。</ p> \ n

冒着听起来无知的风险,我需要做些什么才能让服务器端Express代码与远程PHP库通信,向其发送数据并接收答案,然后将其显示给用户 一个完全阿贾克斯的方式? 甚至可能吗?</ p>

在建议之前,我无法摆脱PHP位,因为它包含了一个名为 Imagemagick Imagick 是PHP扩展名。)</ p>
</ div>

展开原文

原文

novice web developer here.

Right now I have an app that takes information from a page presented to the user, and does an ajax call with this information to some PHP code that runs an algorithm and returns an answer.

The front end code is written in vanilla html, and Javascript (with jQuery) for the ajax call. Everything is sitting on the same machine.

Now I'd like to change the design: I want to keep all the PHP code exactly the same on my machine, but I'd like to migrate the front end code from vanilla html/javascript to Parse.com's "Cloud Code", which is apparently a Node.js framework called Express. So the physical locations of the code will also change: the PHP algorithms will sit on my machine, but what is being served to the user now sits on Parse.com.

I can't make the same ajax calls from jQuery in the Cloud Code because I assume I would run into the same origin policy. I also don't really want to make the calls from Javascript because I no longer want this information to be available to view on the browser: I want to take data straight from the Parse database, pass it to my PHP code, then have it return an answer so that I can display that to a user. All the way up to displaying an answer to the user, I want this data hidden from the user so he doesn't know what is being grabbed from the Parse DB, or what data is being passed to my server.

At the risk of sounding ignorant, what do I have to do to get the server side Express code to talk to a remote PHP library, send data to it and receive an answer, then display that to the user in a completely ajax manner? Is it even possible?

Before suggesting, I can't get rid of the PHP bit, because it wraps around a heavy-duty image processing library called Imagemagick (Imagick is the PHP extension).

duanlu9970
duanlu9970 是的,没关系,我不需要一个直接的例子,我只是想填补我知道和不知道的差距。例如,现在,我从我的js代码中调用我的php代码进行jquery.ajax调用。在php方面,我获取传递给它的数据,操纵它,然后回显json编码数据。但现在,我很好奇我是如何通过node.js(或Express)以一种插入方式来做到这一点的。我不认为我可以保留我的PHP代码,因为它在不同的服务器上,我会遇到同源问题。而且,我一般不知道如何在node.js中这样做。
大约 4 年之前 回复
dongzhan2029
dongzhan2029 所以...如果我正确地描绘你的布局,你的用户的网站由Parse.com(node.js)托管。你想从Node.js调用PHP。假设我是正确的,您总是可以从Node向您的PHP服务器进行HTTP调用。(可能是你在询问如何使你的PHPRESTful。:-))。我没有运行PHP服务器,所以我不能快速写一个例子。
大约 4 年之前 回复
dongrong8972
dongrong8972 那是对的。一个托管用户访问的站点,另一个服务器仅用于调用我的PHP代码。我正在试图弄清楚在那个孤独的服务器上将数据传递给PHP的正确方法,并将数据返回给托管该站点的服务器。我会看看你的导游。谢谢。
大约 4 年之前 回复
dshkmamau65777662
dshkmamau65777662 我不确定我是否关注,但您现在要为您的代码设置2个服务器吗?(记住,Node.js是服务器端技术)。我不是100%确定你的目标,但你可以使用你的PHP代码作为Parse服务器的代理。顺便说一句-如果代理没有吸引力,你可以使用JSONP使用jQueryAJAX进行CORS调用。我写了一个使用JSONP的例子:github.com/RichBuff/PhoneGap-App-with-JSONP-AJAX-Call/blob/...这不完全是你想要的,但你可以找到许多其他的例子。
大约 4 年之前 回复
dongliu8542
dongliu8542 至于将我的PHP代码转换为API,它是否非常简单?一些粗略的谷歌搜索让我看到了这一点,看起来并不坏:leaseweb.com/labs/2015/10/creating-a-simple-rest-api-in-php
大约 4 年之前 回复
doujia1679
doujia1679 用于节点的PHPAPi+请求模块。你应该没事。
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐