Javascript 在php中单击按钮时触发一段代码

Javascript 在php中单击按钮时触发一段代码,javascript,php,Javascript,Php,基本上,我要做的是在单击按钮后执行一段代码或一个函数。我没有任何发送请求的html表单,也不想重新加载页面 例如: 如果我单击名为Hello的按钮,我想用php执行下一段代码 回显“欢迎”。$user; 稍后编辑: 我没有说我不想使用AJAX,是的,我知道PHP是服务器端的。两种语言之间有区别PHP在服务器上运行,这意味着当您检索页面时,您发送了一个请求,服务器将处理该请求并返回页面 此时,本故事的PHP部分已经结束,客户端部分开始。当你点击一个按钮,想要发生什么事情时,你可能会使用Java

基本上,我要做的是在单击按钮后执行一段代码或一个函数。我没有任何发送请求的html表单,也不想重新加载页面

例如: 如果我单击名为Hello的按钮,我想用php执行下一段代码


回显“欢迎”。$user;

稍后编辑:
我没有说我不想使用AJAX,是的,我知道PHP是服务器端的。

两种语言之间有区别PHP在服务器上运行,这意味着当您检索页面时,您发送了一个请求,服务器将处理该请求并返回页面

此时,本故事的PHP部分已经结束,客户端部分开始。当你点击一个按钮,想要发生什么事情时,你可能会使用JavaScript。此语言在浏览器中运行

要使两者相互通信,您必须以某种方式从JavaScript代码向服务器发出请求,方法如下:

  • 提交表格
  • 重新加载页面
  • AJAX请求
由于前两个选项不是您想要的,所以我将向您解释如何使用第三个选项,即AJAX请求

AJAX请求实际上是对服务器的异步请求,您不需要重新加载页面,它在屏幕后面运行。要做到这一点,您需要将事件处理程序连接到该AJAX请求,例如,执行与下一个代码示例相同的操作。这是使用编写的,因为它简化了事件处理和发送AJAX请求。如果您不相信我或不想使用它,您可以随时查看,这为您提供了一个正确的示例,说明如何在没有jQuery的情况下处理AJAX请求

$(“#我的按钮”)。在(“单击”,函数(){
$.get(“theOtherPage.php”,函数(数据){
//用“数据”做点什么
});
});
在这种情况下,一个
onClick
事件handler被添加到一个按钮
#myButton
,当它被单击时,一个名为
otherpage.php
的页面被请求。您可以在此处放置所需的内容,例如:

echo“欢迎”。$user;

请求完成后,数据将在回调的
data
参数中可用。您现在可以使用它做一些事情(例如向用户显示)。

您必须使用AJAX或使用来自用户的新信息重新加载页面/框架
以本例为例,尝试根据您的需要进行修改:

<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>

函数loadXMLDoc()
{
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”,“ajax_info.txt”,true);
xmlhttp.send();
}
让AJAX更改此文本
更改内容

所以,您知道什么是php以及它是如何执行的,对吧?php是服务器端代码,javascript/jquery是客户端代码。除非您使用ajax,否则您无法做到这一点了解服务器端脚本和客户端脚本的区别我没有说过我不想使用ajax,是的,我知道PHP是服务器端脚本