我在php中有一个简单的web api,它调用一个名为getData的函数,该函数位于index.php文件中,如下所示:
的index.php
<?
session_start();
require("lib.php");
require("api.php");
header("Content-Type: application/json");
getData($name);
exit();
?>
getData函数在api.php文件中,如下所示:
api.php
<?
function getData($name) {
$result = query("select * FROM table where name = $name");
print json_encode($result);
}
?>
我想在我的javascript中使用AJAX检索json,如下所示:
$(document).ready(function () {
var url = 'webAPI/index.php';
var j = [];
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function(data) { j = data;},
async: false
});
如果没有传递$ name变量,这是完美的,但是我需要将$ name变量从AJAX传递到index.php文件以获得正确的sql结果。我试过让AJAX成为一个帖子,但无济于事。
答案 0 :(得分:1)
GET AJAX请求发送的变量可从超全局$_GET
获得。例如,如果这是您的jQuery代码:
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
data: { name:"something" }, // you can replace name with whatever you need
success: function(data) { j = data;},
async: false
});
然后您可以使用$_GET["name"]
访问名称变量。因此,您可以使用getData($_GET["name"]);
另外,请确保使用正确的功能访问数据库,例如MySQLi for PHP。