javascript — PHP не восстанавливает данные из jquery только в методах DELETE и PUT

Я студент полного стека и пытаюсь сделать свою домашнюю работу … я посылаю php объект Daya с Jquery.
он работает нормально, когда метод GET или POST, но не работает, когда он удаляется & PUT, php get это методы, но не получит объект данных, он выдает ошибку: Undefined index: activityArray.
Я использую одни и те же функции для всех опций, и если я изменяю метод, он работает.

ПРОБЛЕМЫ
ВЫХОД
КОНТРОЛЬ ОТЛАДКИ
ТЕРМИНАЛ
..
Что я делаю неправильно??
Спасибо!

это мой ajax в javascript:
«использовать статический»;

function sendAJAX(method, url, data, calltype) {
$.ajax({
type: method,
url: url,
data: { activitiesArray: data },
success: function(response_text) {
callback(response_text, calltype);
}

});
}

а это мой php api:

$method = $_SERVER['REQUEST_METHOD']; // verb
$params = $_REQUEST['activitiesArray'];

switch ($params['ctrl']) {
case 'Director':
$capi = new DirectorApi();
$result  = $capi->gateway($method, $params);
echo json_encode($result);

break;
case 'Movie':
$capi = new MovieApi();
echo $capi->gateway($method, $params);
break;
}

-2

Решение

изменить код, как это для положить и удалить

function sendAJAX(method, url, data, calltype) {
$.ajax({
type: method,
url: url,
data: JSON.stringify({activitiesArray: data}),
success: function(response_text) {
callback(response_text, calltype);
},
dataType: 'json',
contentType: 'application/json'

});
}

и на стороне php, вы не можете использовать $ _REQUEST для обработки запроса пут, вы можете сделать это

$method = $_SERVER['REQUEST_METHOD']; // verb
$params = $_REQUEST['activitiesArray'];

if($_SERVER['REQUEST_METHOD'] == 'PUT') {
parse_str(file_get_contents("php://input"),$post_vars);
echo $post_vars['your_input']; // you can access query parameters like this

}
else
{
switch ($params['ctrl']) {
case 'Director':
$capi = new DirectorApi();
$result  = $capi->gateway($method, $params);
echo json_encode($result);

break;
case 'Movie':
$capi = new MovieApi();
echo $capi->gateway($method, $params);
break;
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector