我如何通过JavaScript连接到我的PHP程序所在的服务器

How can I connect to a server through JavaScript where my PHP program is housed?

本文关键字:程序 服务器 PHP 我的 何通过 JavaScript 连接      更新时间:2023-09-26

我正在编写一个Android应用程序,并且已经有了一个用HTML和PHP编写的工作程序。使用这两者,他们联系API,在html页面上进行用户自定义的查找,然后发送到PHP页面,联系API进行自定义的搜索,得到结果,PHP再次输出到html页面。

我知道PHP不能在Android上运行,但我计划使用PhoneGap。使用PhoneGap,我可以运行JavaScript、HTML和CSS。我还读到,Android无法理解PHP的解决方案是连接到一个服务器(我的计算机),该服务器可以为我运行PHP,然后以手机可以理解的方式输出。

我的计划是使用PhoneGap可以理解的JavaScript连接到我的计算机,让它运行PHP并以HTML输出页面,PhoneGap也可以理解。

如果这很荒谬,请告诉我。。。否则,如果有人能用JavaScript函数把我推向正确的方向,让我验证自己,连接到我的计算机,并告诉它我想使用某个PHP文件,我将不胜感激。

我们在为Android和iOS开发应用程序时遇到了完全相同的问题。就像Austin已经告诉你的那样,你必须使用AJAX。

W3schools-AJAX

但是,如果jquery只用于一些简单的事情,我建议您不要使用它,因为它相当重,因为它必须加载大的脚本。因此,如果你能减少代码量,请学习真正的JavaScript而不是jQuery。

此外,我们还编写了自己的APIRequest.js对象。当这样调用这个对象时:

var result = new APIRequest('functionname', {param1:value, param2:value})

这是一种相当简单的方法来连接到您的php,它将在外国某个地方的服务器或您的电脑上运行。正如你所看到的,我们插入了一个函数名,我们已经开发了API作为一个相当简单的OOP php东西,它允许我们将函数名.php放在某个文件夹中,它将被反脚本读取,然后选择该函数。数据库连接和类似的东西将被放在api的索引中。使用这种方法,您可以在服务器端为每一个独特的处理创建特殊的函数。

我告诉你这是因为你在使用JavaScript。我希望你明白这是不安全的!它就像你电脑上的JavaScript应用程序一样安全。黑客可以将.apk下载到他的电脑上,在电脑上的模拟器中运行,并通过控制台进行编辑。因此,这意味着,他可以更改您的整个代码(至少是JavaScript部分)。所以,一定要用钥匙之类的东西尽可能地安全。此外,请尝试在服务器上执行尽可能多的逻辑操作,这样逻辑就不会更改。只有API的输入参数。

我希望这对你有帮助!

这里需要使用AJAX。jQuery有一个很棒的包装器函数$.ajax,它使大部分过程非常简单明了。

AJAX将向任何文件(在您的情况下是php文件)发送异步请求,并用它接收到的数据触发回调函数。(同步也是可能的,但不推荐,因为它会让你的应用程序挂起,直到请求完成。更多关于为什么不建议这样做的信息)

关于这里涵盖的主题的一些好的阅读:

  • http://www.sitepoint.com/ajax-jquery/
  • http://www.impressivewebs.com/callback-functions-javascript/

您想要使用的基本技术是AJAX,它是从Javascript通过HTTP进行服务器调用的术语。您可以用XML(AJAX中的X)或其他编码(如JSON)在服务器之间传递数据。

你需要在服务器上有一个专用的PHP文件,它可以理解你在AJAX帖子中发送的数据,而不是生成HTML,而是生成你的Javascript将使用的XML/其他格式。

你最好的选择可能是创建一个浏览器应用程序,通过AJAX与你的服务器通信,当它工作时,将其移植到PhoneGap。

这很容易。只需对PHP页面执行GET请求并解析结果。创建一个函数使其更容易:

function httpGet(theUrl){
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

然后,您可以调用它并获得结果HTML代码。

var url = 'http://yourpage/index.php?a=something&b=otherthing';
var page = httpGet(url);
相关文章: