Я студент полного стека и пытаюсь сделать свою домашнюю работу … я посылаю 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;
}
изменить код, как это для положить и удалить
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;
}
}
Других решений пока нет …