如何在单击html按钮上调用php脚本/函数

时间:2014-12-31 05:18:40

标签: php ajax onclick

在某人对我说话或将其标记下来之前,我已经在互联网上查找了如何执行此操作(包括stackoverflow上的相同问题)。我是新人,我发现学习新概念非常困难,所以请对我很轻松。

我想要做的是点击按钮调用php脚本/函数。如果有帮助,我在WAMP中运行它。这是我的代码:

<?php include 'the_script.php'; ?>

<button type="button" onclick="the_function()">Click Me</button>

the_script.php中有这个:

the_function() {
    echo "You win";
}

为什么这不起作用?我听说过按钮是客户端等,而PHP是服务器端,这意味着你无法将两者连接在一起。我知道你必须使用AJAX来完成这项工作,但我合法地完全不知道如何做到这一点。我试过谷歌搜索等,但我无法找到任何东西。我知道如何使用AJAX并使用它调用事件,但是我仍然不知道如何调用它来调用PHP脚本。

你能否尽可能简单明了地回答你的问题,我是

的新手

感谢您的帮助:)

编辑***

出于某种原因,无论我走到哪里,每个人的代码都不同。我学习AJAX的方式看起来完全不同。你能用这种方式写出来让我明白吗?谢谢,这是一个例子:

var request;

if (window.XMLHttpRequest) {
    request = new XMLHttpRequest();
} else {
    request = new ActiveXObject("Microsoft.XMLHTTP");
}

request.open('GET', 'file.php', true);

request.onreadystatechange = function() {

    if (request.readyState===4 && request.status===200) {
        do stuff
    }
}

request.send();

7 个答案:

答案 0 :(得分:31)

  

  

试试这个:

<button type="button">Click Me</button>
<p></p>
<script type="text/javascript">
    $(document).ready(function(){
        $("button").click(function(){

            $.ajax({
                type: 'POST',
                url: 'script.php',
                success: function(data) {
                    alert(data);
                    $("p").text(data);

                }
            });
   });
});
</script>

在script.php中

<?php 
  echo "You win";
 ?>

答案 1 :(得分:12)

当然,AJAX就是解决方案,

执行AJAX请求(为了方便起见,我们可以使用jQuery库)。

<强>步骤1。

在您的网页中包含jQuery库

一个。你可以从jquery.com下载jQuery库并保存在本地。

湾或者只是粘贴以下代码,

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

第2步。

点击按钮

调用javascript函数
<button type="button" onclick="foo()">Click Me</button>

第3步。

最后是函数

 function foo () {
      $.ajax({
        url:"test.php", //the page containing php script
        type: "POST", //request type
        success:function(result){
         alert(result);
       }
     });
 }

当你点击按钮并提醒响应时,它会向test.php发出一个AJAX请求。

例如,test.php中的代码是,

<?php echo 'hello'; ?>

然后它会警告&#34;你好&#34;什么时候点击按钮。

答案 2 :(得分:5)

您也可以使用

<script type="text/ng-template" id="todo.html">
    <div>
        <div>{{ todo.text }}</div>
        <ul>
            <li ng-repeat="todo in todo.children" ng-include="'todo.html'"></li>
        </ul>
    </div>
</script>

<div ng-controller="MyController">
  <ul>
    <li ng-repeat="todo in todos" ng-include="'todo.html'"></li>
  </ul>
</div>

希望它有助于某人

答案 3 :(得分:2)

使用jQuery。在HTML页面 -

<button type="button">Click Me</button>

<script>
$(document).ready(function() {
$("button").click(function(){
  $.ajax({
    url:"php_page.php", //the page containing php script
    type: "POST", //request type
    success:function(result){
    alert(result);
    }
  });
});
})
</script>

Php页面 -

echo "Hello";

答案 4 :(得分:0)

the_function() {

$.ajax({url:"demo_test.php",success:function(result){

   alert(result); // will alert 1

 }});

}

// demo_test.php

<?php echo 1; ?>

备注

  1. 包含用于使用jquery Ajax的jquery库
  2. 将demo_test.php文件保存在javascript所在的文件夹中 文件驻留

答案 5 :(得分:0)

像这样修改 the_script.php

<script>
the_function() {
    alert("You win");
}
</script>

答案 6 :(得分:0)

First understand that you have three languages working together.
  

PHP:仅由服务器运行并响应点击链接(GET)或提交表单(POST)等请求。   HTML&amp; Javascript:仅在某人的浏览器中运行(不包括NodeJS)   我假设你的文件看起来像:

<?php
function the_function() {
echo 'I just ran a php function';
 }

 if (isset($_GET['hello'])) {
  the_function();
  }
   ?>
  <html>
 <a href='the_script.php?hello=true'>Run PHP Function</a>
 </html>

因为PHP只响应请求(GET,POST,PUT,PATCH和DELETE通过$ _REQUEST),所以你必须运行php函数,即使它们在同一个文件中。这为您提供了一定程度的安全性,“我是否应该为此用户运行此脚本?”。

如果您不想刷新页面,可以向PHP发出请求,而无需通过名为Asynchronous Javascript and XML(AJAX)的方法进行刷新。