如何在JavaScript函数中激活PHP文件

如何在JavaScript函数中激活PHP文件,php,javascript,database,Php,Javascript,Database,我试图在激活javascript函数时将一些信息写入数据库 我使用PHP和MySQL。如何打开.php文件,执行它并返回到.js文件,以便函数继续其操作 提前感谢。您将需要AJAX,这里有一个使用PHP服务器的AJAX简单教程查找AJAX。。。还可以考虑使用jQuery,它有一个简单易用的ajax()函数。我想您可能有点困惑。Javascript在浏览器中、客户端计算机上运行。Php/MySQL在服务器上运行,响应HTTP请求,并创建内容供浏览器显示/运行 为了让两者动态通信,您需要了解如何从客

我试图在激活javascript函数时将一些信息写入数据库

我使用PHP和MySQL。如何打开.php文件,执行它并返回到.js文件,以便函数继续其操作


提前感谢。

您将需要AJAX,这里有一个使用PHP服务器的AJAX简单教程

查找AJAX。。。还可以考虑使用jQuery,它有一个简单易用的ajax()函数。

我想您可能有点困惑。Javascript在浏览器中、客户端计算机上运行。Php/MySQL在服务器上运行,响应HTTP请求,并创建内容供浏览器显示/运行


为了让两者动态通信,您需要了解如何从客户端的javascript向服务器上的php脚本发送/接收HTTP请求。您还需要能够用javascript处理响应。这种做法被称为AJAX。根据我的经验,最简单的方法是使用JSON和jQuery,

如果您还没有使用支持AJAX的框架(例如jQuery),您可以使用真正轻量级的实现来发出HTTP请求。此请求可以将任何PHP资源(执行所需的DB更新)作为目标

我所知道的最小代码在这里:(丹麦语,对不起)


首先,不可能直接从JavaScript调用PHP函数,反之亦然。这是因为PHP是在服务器上运行的服务器端脚本,JavaScript是在浏览器上运行的客户端脚本

但是,有一种解决方案,使用一种称为“”的技术(异步JavaScript和XML),可以使用它从JavaScript向服务器发送请求

例如,使用用户看到的“用户”页面和从JavaScript代码调用的“请求”页面,我可以编写以下代码:

userpage.php:


函数sendRequestToServer()
{
//XMLHttpRequest对象用于发出AJAX请求
var ajax=new-XMLHttpRequest();
//当请求状态更改时,将调用onreadystatechange函数
ajax.onreadystatechange=函数()
{
//如果ajax.readyState为4,则连接成功
//如果ajax.status(HTTP返回代码)为200,则请求成功
if(ajax.readyState==4&&ajax.status==200)
{
//使用ajax.responseText从服务器获取原始响应
警报(ajax.responeText);
}
}
//使用Open()方法打开连接
//(第三个参数用于“异步”请求,这意味着
//在处理请求时,JavaScript不会暂停)。
open('get','requestpage.php',true);
//使用Send()方法发送请求
ajax.send();
}
发送请求!
php(此页面的输出将返回到JavaScript代码):


此示例将在按下按钮时向请求requestpage.php的服务器发送HTTP请求,服务器将在其中执行一些服务器端代码并回显结果。然后,浏览器将获取从服务器接收到的数据,并在脚本中使用它——在本例中为
alert()
it

一些资源:

  • 关于和的AJAX教程
您可能还想查看JSON编码,这是在客户端和服务器之间发送对象和数组的非常常见的方法(特别是在使用AJAX时):

  • JSON教程
  • 和PHP函数
(很抱歉回答这么长,希望能有所帮助)

<script type="text/JavaScript">(function(){if(window.XMLHttpRequest)return;var o=null,s,
a=["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i=0,j=a.length;i<j;s=a[i],i++){try{if(o=new ActiveXObject(s))break}
catch(e){}}window.XMLHttpRequest=o?function(){return new ActiveXObject(s)}:null;o=null})()</script>
var oHttp = new XMLHttpRequest();
oHttp.open("post", "http://www.domain.dk/page.php", true);
oHttp.onreadystatechange = function(){ myCallBack(oHttp) };
oHttp.send("id=123&noget=andet");
<!-- JavaScript code -->
<script type="text/javascript">
function sendRequestToServer()
{
  // The XMLHttpRequest object is used to make AJAX requests
  var ajax = new XMLHttpRequest();
  // The onreadystatechange function will be called when the request state changes
  ajax.onreadystatechange = function()
  {
    // If ajax.readyState is 4, then the connection was successful
    // If ajax.status (the HTTP return code) is 200, the request was successful
    if(ajax.readyState == 4 && ajax.status == 200)
    {
      // Use ajax.responseText to get the raw response from the server
      alert(ajax.responeText);
    }
  }
  // Open the connection with the open() method
  // (the third parameter is for "asynchronous" requests, meaning that
  //   JavaScript won't pause while the request is processing).
  ajax.open('get', 'requestpage.php', true);
  // Send the request using the send() method
  ajax.send();
}
</script>
<!-- HTML code -->
<button onclick="sendRequestToServer();">Send request!</button>
<?php
echo "Hello World!";
?>