我已经看到this回答在执行READ操作时发送额外的参数,但是如何在我的php上访问该变量?
这是我在客户端的代码:
dataSource = new kendo.data.DataSource({
transport: {
read:
{
url:"basedados.php",
type: "POST",
dataType: "json",
data: { "my_param": 1, access_token : "my_token" }, // send parameter "access_token" with value "my_token" with the `read` request
},
但现在在我的.php文件中,如何访问它?:
else
{
$verb = $_SERVER["REQUEST_METHOD"];
if ($verb == "POST")
{
header("Content-type: application/json");
if($_POST['access_token']) // do i say it like this?
{
$formData = $_POST["access_token"];
echo $formData;
}
编辑:感谢您回答Rick,但让我们向您展示更多代码:
parameterMap: function(options, operation)
{
if (operation == "read" && options.models)
{
return {models: kendo.stringify(options.models)};
};
if (operation == "create" && options.models)
{
options.models[0].idPai = currentId;
$('#gridBaseDados').data('kendoGrid').dataSource.read();
return {models: kendo.stringify(options.models)};
};
if (operation !== "read" && options.models)
{
return {models: kendo.stringify(options.models)};
}
}
在我的服务器端,我(通常)是这样的:
else
{
$verb = $_SERVER["REQUEST_METHOD"];
if ($verb == "GET")
{
header("Content-type: application/json");
$arr = array();
$statement = $pdo->query("SELECT a.idDocumento, a.idPai, a.tipo,a.nome,a.dataCriacao,
a.dataModificacao,b.nome as NomeUtilizadorCriador,
c.nome as NomeUtilizadorUpdate
FROM Documento a left outer join Utilizador b on a.idUtilizadorCriador=b.idUtilizadores
left outer join Utilizador c on a.idUtilizadorUpdate=c.idUtilizadores");
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
echo json_encode(array("data" => $result, "user" => $_SESSION["user"]));
}
这是有效的,但我需要额外的参数,因为我需要将它与我的" idPai"进行比较。
再次感谢。
答案 0 :(得分:1)