我是一名菜鸟PHP开发人员。
我已经创建了一个包含带有“添加”按钮的HTML页面的PHP
Web项目。该页面的名称是awards.html。awards.html文件包含其对应的JavaScript文件awards.js。单击添加按钮时,将在此js文件中执行代码。此代码将AJAX调用发送到位于/controller/
名为Award.php的项目的文件夹中的PHP类。该PHP文件包含代码,该代码用于执行位于/model/
项目文件夹中的另一个Award.php文件中名为addFunction()的函数,该文件返回JSON数组,并显示在awards.html页面中。
我的文件的源代码如下:
Awards.html
<div class = "divbottom">
<div id="divAddAward">
<button class="btn" onclick="onAdd();">Add</button>
</div>
</div>
awards.js
function onAdd() {
$("#divAddAward").load('controller/Award.php'); //The full path of the Award.php file in the web root
$.post(
'classes/Award.php'
).success(function(resp) {
json = $.parseJSON(resp);
});
}
Award.php(位于/controller/
文件夹中)
<?php
foreach (glob("../model/community/*.php") as $filename) {
include $filename;
}
$award = new Award(); //Instantiating Award in /model/ folder
$method = $award->addFunction();
echo json_encode($method);
Award.php(位于/model/
文件夹中)
<?php
class Award
{
public function addFunction() {
$array = array(
'status' => '1'
);
return $array;
}
}
我的代码运行完美且无错误。现在,我想在awards.html中添加另一个名为Save的按钮,单击该按钮将在JS文件中调用onSave()函数。因此,我文件的源代码将更改为以下内容:
awards.html
<div class = "divbottom">
<div id="divAddAward">
<button class="btn" onclick="onAdd();">Add</button>
<button class="btn" onclick="onSave();">Save</button>
</div>
</div>
awards.js
function onAdd() {
$("#divAddAward").load('controller/Award.php'); //The full path of the Award.php file in the web root
$.post(
'classes/Award.php'
).success(function(resp) {
json = $.parseJSON(resp);
});
}
function onSave() {
$("#divAddAward").load('controller/Award.php'); //The full path of the Award.php file in the web root
$.post(
'classes/Award.php'
).success(function(resp) {
json = $.parseJSON(resp);
});
}
现在的问题是,由于我想从JS调用相同的Award.php文件,如何修改控制器的Award.php文件?我认为应该有两个不同的函数,其中应包含用于实例化Award.php类的视图并调用另一个函数的代码;类似于以下内容:
Award.php
<?php
foreach (glob("../model/community/*.php") as $filename) {
include $filename;
}
function add(){
$award = new Award(); //Instantiating Award in /model/ folder
$method = $award->addFunction();
echo json_encode($method);
}
function save(){
$award = new Award(); //Instantiating Award in /model/ folder
$method = $award->saveFunction();
echo json_encode($method);
}
Award.php
class Award
{
public function addFunction() {
$array = array(
'status' => '1'
);
return $array;
}
public function saveFunction() {
$array = array(
'status' => '2'
);
return $array;
}
}
但是,如何从JS文件中调用这些特定的PHP函数呢?如果我上面假设的代码正确,那么我的JS代码应该是什么?有人可以建议我吗?最早的答复将不胜感激。先感谢您。
好吧,我自己找到了解决问题的办法。
我发送了GET类型的AJAX调用,并以String参数的形式传递了数据,并添加了success属性以确认我的代码是否有效。我还更改了Award.php代码,以成功捕获传递的参数。
所以我文件的源代码是:
awards.js
function onAdd() {
$("#display").load(filePath);
$.ajax({
type: "GET",
url: 'controller/Action.php',
data: "functionName=add",
success: function(response) {
alert(response);
}
});
}
function onSave() {
$("#display").load(filePath);
$.ajax({
type: "GET",
url: 'controller/Action.php',
data: "functionName=save",
success: function(response) {
alert(response);
}
});
}
Award.php
$functionName = filter_input(INPUT_GET, 'functionName');
if ($functionName == "add") {
add();
} else if ($functionName == "save") {
save();
}
function add()
{
$award = new Award();
$method = $award->addFunction();
echo json_encode($method);
}
function save()
{
$award = new Award();
$method = $award->saveFunction();
echo json_encode($method);
}
问题内容: 我试图在表单提交中调用特定的php函数,表单和php脚本都在同一页面中。我的代码如下(它不起作用,所以我需要帮助) 问题答案: 在下一行 该动作应该是脚本的名称,并且应该调用该函数,就像这样
本文向大家介绍使用PHP函数scandir排除特定目录,包括了使用PHP函数scandir排除特定目录的使用技巧和注意事项,需要的朋友参考一下 scandir()函数返回一个数组,其中包含指定路径中的文件和目录。如下所示: 例子: 输出: 大部分情况只需要该目录的文件列表数组,如下: 一般是通过排除“.”或者“..”的数组项解决的: 另外一种方法,利用array_diff函数,剔除scandir函
问题内容: 我正在测试php 7,并遇到此错误: 致命错误:未捕获错误:调用未定义函数odbc_connect() 从文档页面:http : //php.net/manual/en/function.odbc- connect.php php 7未列为受支持。 有谁有办法解决这个问题或何时会支持它? 谢谢@ 问题答案: DOC页面上确实列出了PHP 7,因此只需安装php-odbc,您就可以使用了
问题内容: 好的,我知道有人问过这个问题,但是我对PHP和JavaScript还是很陌生,直到我开始寻找这个问题的答案之前,我才听说过Ajax,所以不理解以前的答案。 我正在创建一个站点,该站点本质上是SQL数据库中的一堆视频,它一次显示一个视频,我想要一个下一个和上一个视频按钮。 但是我无法摆脱这种ajax的问题,所以我的问题更加简单。 我已经复制了确切的代码, 在我的文件中,我实际上只是对
问题内容: 这可能是一个简单的答案,但是我正在使用jQuery的$ .ajax调用PHP脚本。我要做的基本上是将PHP脚本放入函数中,然后从javascript调用PHP函数。 对此 我如何在javascript中调用该函数?现在,我只使用$ .ajax和列出的PHP文件。 问题答案: 使用调用服务器上下文(或URL,或其他)来调用特定的“动作”。您想要的是这样的: 在服务器端,应读取POST参数
问题内容: 首先,最感谢您解决我的问题,以及您可能提供的任何帮助! 好的,就像标题所说的,我需要从索引页面调用php函数,该函数使用JQuery Ajax在数据库中添加新记录作为投票。此函数将返回一个整数,然后将其打印在调用它的表单按钮内。 有人对我将如何实现这一目标有想法吗?任何指导表示赞赏! 我猜是表单动作属性发布了吗? 问题答案: 是的,创建一个单独的PHP文件,该文件调用该函数并回显输出。