Методы .success
и .error
были удалены из среды AngularJS.Вместо этого используйте методы .then
и .catch
:
var myData = {
fruit1: 'apple',
fruit2: 'banana'
};
$http({
url: "test.php",
method: "POST",
̶h̶e̶a̶d̶e̶r̶s̶ ̶:̶ ̶{̶ ̶'̶C̶o̶n̶t̶e̶n̶t̶-̶T̶y̶p̶e̶'̶:̶ ̶'̶a̶p̶p̶l̶i̶c̶a̶t̶i̶o̶n̶/̶j̶s̶o̶n̶'̶ ̶}̶,̶
data: myData
}).then(function(response) {
$scope.data = response.data;
return response.data;
}).catch(function(err) {
$scope.status = err.status;
throw err;
});
Служба $ http автоматически JSON кодирует данные и автоматически устанавливает тип содержимого application/json
.
В этом случаекод не использует обещание, возвращаемое методами .then
и .catch
.Если используется обещание, важно иметь в обработчиках успеха и отклонения операторы return
и throw
.
php файл:
$postJSON = file_get_contents("php://input");
$dataArr = json_decode($postJSON, TRUE);
var_dump($dataArr);
Найдены данные в кодировке JSONв теле запроса POST.Имя переменной не отправляется, только содержимое.
Второй аргумент функции json_decode
указывает, что объекты должны быть преобразованы в ассоциативные массивы.
Имейте в виду, что эти POSTзапросы подлежат политика того же происхождения .Запрос XHR должен быть сделан со страницы веб-сайта, которая имеет то же происхождение, что и страница, получающая запрос POST.