Я написал простой код с помощью angularjs для связи с API-интерфейсом PHP, который раньше я размещал на общем сервере. Я использовал $ http.get и $ http.post для получения данных с сервера, но возвращал ошибку "access-control-allow-origin", как показано ниже:
http://dpmp.arkoding.tk/index.php/api/datapost. Response to preflight request doesn't pass
access control check: No 'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://localhost:8100' is therefore not allowed access.
The response had HTTP status code 404.
контроля доступа, Allow-Origin
большинство ссылок, которые я получил, объяснили, что он вызван CORS включен на сервере и просто добавляет заголовок строки ("Access-Control-Allow-Origin: *"); наверху, чтобы исправить это. Я сделал это, но он просто исправил функцию "$ http.get", и я все равно получил ту же ошибку для "$ http.post". И сделал меня более смущенным, потому что это сработало, если я использовал почтальона, и я думал, что проблема была в моем угловом коде.
Я попробовал добавить код в свои services.js, показанный ниже в следующих фрагментах:
var datac = {id: 'helo'};
var head = {'Content-Type': 'application/json'};
return $http({
url: url + '/datapost',
method: 'POST',
headers: head,
data: datac
});
и без заголовка
var datac = {id: 'helo'};
return $http({
url: url + '/datapost',
method: 'POST',
data: datac
});
но это не сработает. Я даже попытался переместить мой API отдыха другому хостинг-провайдеру, и он также возвратил ту же ошибку, когда я использовал угловой $ http.post. Я очень благодарен за вашу помощь в моей проблеме, и я сожалею о моем неопрятном английском языке кстати :).