在有人对我动手或记下这个之前,我已经在互联网上寻找如何做到这一点(包括关于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();
试试这个:
<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>
在脚本中.php
<?php
echo "You win";
?>
当然,AJAX是解决方案,
要执行 AJAX 请求(为了方便起见,我们可以使用 jQuery 库)。
步骤1.
在网页中包含 jQuery 库
a. 您可以从 jquery.com 下载 jQuery 库并将其保存在本地。
b. 或简单地粘贴以下代码,
<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);
}
});
}
它将发出 AJAX 请求进行测试.php当您单击按钮并提醒响应时。
例如,测试中的代码.php是,
<?php echo 'hello'; ?>
然后,当您单击按钮时,它会提醒"您好"。
使用
$(document).ready(function() {
//some even that will run ajax request - for example click on a button
var uname = $('#username').val();
$.ajax({
type: 'POST',
url: 'func.php', //this should be url to your PHP file
dataType: 'html',
data: {func: 'toptable', user_id: uname},
beforeSend: function() {
$('#right').html('checking');
},
complete: function() {},
success: function(html) {
$('#right').html(html);
}
});
});
And your func.php:
function toptable()
{
echo 'something happens in here';
}
希望它对某人有所帮助
使用 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";
First understand that you have three languages working together.
PHP:仅由服务器运行,并响应单击链接(GET)或提交表单(POST)等请求。 HTML 和 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 函数的方式,即使它们在同一个文件中。这为您提供了一定程度的安全性,"我是否应该为此用户运行此脚本?
如果你不想刷新页面,你可以通过一种叫做异步Javascript和XML(AJAX)的方法向PHP发出请求,而无需刷新。
the_function() {
$.ajax({url:"demo_test.php",success:function(result){
alert(result); // will alert 1
}});
}
demo_test.php
<?php echo 1; ?>
笔记
- 包含用于使用 jquery Ajax 的 jquery 库
- 将demo_test.php文件保存在 JavaScript 所在的文件夹中文件驻留
这样修改the_script.php。
<script>
the_function() {
alert("You win");
}
</script>