【发布时间】:2015-09-04 15:20:46
【问题描述】:
我是 PHP 新手,以前从未使用过 Ajax,所以我希望有人能帮助我。
我有一个单独的 functions.js 文件,用于存储我用于网站页面的所有 JS。
到目前为止,与 db 的所有交换都是直接在页面上使用 PHP 完成的,到目前为止效果很好,但现在我有一个场景,我需要从 JS 文件启动它。
我的想法是我可以创建一个单独的 PHP 文件 (ajax.php) 来承载用于此目的的函数,然后 通过 Ajax 从 JS 文件将数据传递到这个 PHP 文件。
到目前为止,我有以下内容,但由于 ajax.php 文件中有多个函数,我不确定如何将其传递给我需要的特定函数。 另外,我不确定我的 Ajax 调用是否设置正确。
有人可以帮我解决这个问题,也许还可以用几句话解释你的答案吗?
基本上,在这里我想将 JS 变量“itemID”传递给 PHP 函数 fetchTransMain,它应该用于变量 $itemID(变量 $trans 是在 PHP 中生成的)。
更新:我还需要知道如何从 JS 中的 PHP 函数获取结果。我还没有找到解决这个问题的方法,也许是通过 Ajax GET 调用??
我的 functions.js 文件中有什么:
var itemID = "someID";
$.ajax({
url: "ajax.php",
type: "post",
cache: "false",
data: itemID,
success: function(){
alert("success");
},
error: function(){
alert("failure");
}
});
...在我的 ajax.php 文件中:
function fetchTransMain($trans, $itemID){
foreach($trans as $key => $val){
if($val["ID"] == $itemID){
echo $val["trans"];
}
}
}
提前非常感谢, 迈克
【问题讨论】:
-
你需要寻找
$_POST['data']来引入传递的数据 -
通常我将 PHP 函数分开,每个文件一个。但是你可以在你的数据中发送一些东西(函数名)并在 PHP 中检查它来决定执行哪个函数。
-
@briansol:谢谢!
-
您不能通过 HTTP 请求从“外部”调用特定的 PHP 函数。你可以做的是发送一个参数来告诉 PHP 脚本执行哪个功能,并在你的 PHP 脚本中使用
switch语句来调用基于该值的特定函数。 -
Here are the basics 以及故障排除思路和技术。