я видел этот Ответ на вопрос об отправке дополнительных параметров при выполнении операции чтения, но как мне получить доступ к этой переменной на моем 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;
}
РЕДАКТИРОВАТЬ: Спасибо за ответ Рику, но давайте покажу вам больше моего кода:
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».
Еще раз спасибо.
Вам не нужно размещать здесь. Использовать parameterMap Возможность отправить ваши данные.
dataSource = new kendo.data.DataSource({
transport: {
read:
{
url:"basedados.php",
dataType: "json",
},
parameterMap: function(options, operation) {
return {
access_token : "my_token"}
}
},
schema: {
data: "data"}
PHP
$formData = $_GET["access_token"];
echo $formData;
Других решений пока нет …