Я пытаюсь передать данные POST в мое приложение, но это просто не работает. в PHP я попытался с CURL, и у меня нет никаких проблем.Как разместить данные с помощью Angular JS?
В Угловом, корыте консоли я получаю:
Object { data: null, status: 0, headers: headersGetter/<(), config: Object, statusText: "" }
С Curl, я могу размещать данные с помощью следующего кода:
# the POST data
$email = '[email protected]';
$password = 'blabla';
$data = array("email" => "$email", "password" => "$password", "active" => TRUE);
$data_string = json_encode($data);
$ch = curl_init('http://localhost:8888/app/api/users/register');
# An HTTP POST request
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept: application/json')
);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
echo $result;
с угловым, этим код производит сообщение консоли в верхней части:
.controller('TestCtrl', ['$scope', '$http', function($scope, $http) {
$scope.data = {};
$scope.newUser = function() {
$http({
method: 'POST',
url: 'http://localhost:8888/app/api/users/register',
data: {
email:'[email protected]',
password:'blabla'
},
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
}).then(function successCallback(response) {
console.log("GREAT");
}, function errorCallback(response) {
console.log(response)
});
}
}])
Подробнее In образование:
С CURL/PHP пользователь создан и токен тоже.
string(199) "{ "success": true, "data": { "id": 18, "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjE4LCJleHAiOjE0NTI4NTIxODd9.vYU6YcuGS2rUUD2cBG233hSARWHp7dc1uBF7TdMrGeM" } }"
Заголовок Направлено корыто Угловая:
Accept :"application/json, text/plain, */*"
Content-Type :"application/json; charset=utf-8"
X-Requested-With :"XMLHttpRequest"
Кроме того, я follown этого учебника, чтобы создать CakePHP 3 API: http://www.bravo-kernel.com/2015/04/how-to-build-a-cakephp-3-rest-api-in-minutes/
EDIT, на Chrome:
OPTIONS http://localhost:8888/perles/app/users/register (anonymous function) @ ionic.bundle.js:23826sendReq @ ionic.bundle.js:23645serverRequest @ ionic.bundle.js:23357processQueue @ ionic.bundle.js:27879(anonymous function) @ ionic.bundle.js:27895Scope.$eval @ ionic.bundle.js:29158Scope.$digest @ ionic.bundle.js:28969Scope.$apply @ ionic.bundle.js:29263(anonymous function) @ ionic.bundle.js:62385eventHandler @ ionic.bundle.js:16583triggerMouseEvent @ ionic.bundle.js:2948tapClick @ ionic.bundle.js:2937tapMouseUp @ ionic.bundle.js:3013
(index):1 XMLHttpRequest cannot load http://localhost:8888/app/api/users/register. Response for preflight has invalid HTTP status code 500
Вы пробовали что-то вроде этого: http://jsfiddle.net/bkUEu/458/ – Ravish
Я тоже пробовал свой код и скрипку, я не знаю, что происходит, это кажется, что это разрешение или что-то в этом роде? –
Кажется, проблема CORS, я обновил свой пост. –