не удается получить доступ к веб-сервису prestashop через getJSON
Я пытаюсь использовать webservice prestashop (1.6) для получения моего продукта с помощью функции jQuery getJSON (), но в браузере консоли я получаю следующую ошибку :
XMLHttpRequest cannot load
http://www.pourquoilavie.org/api/products/?ws_key=XXXXXkeyXXXXXXXXX&io_format=JSON.
No 'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://localhost' is therefore not allowed access.
Я попытался добавить "Header set Access-Control-Allow-Origin: *" в htaccess, но безуспешно.
Интересно, есть ли другой способ установить заголовок (кроме использования php с header('Access-Control-Allow-Origin: *');
)
Ответы - не удается получить доступ к веб-сервису prestashop через getJSON / unable to access the prestashop webservice via getJSON


25.08.2015 07:23:57
В prestashop 1.6 вы можете попробовать добавить это в
./prestafolder/webservice/dispatcher.php
по соображениям безопасности, вместо звездочки можно ввести доменное имя
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Origin: http://example.com');
К ВАШЕМУ СВЕДЕНИЮ
Если вы по-прежнему будете иметь проблемы или Unauthorized
сообщение, попробуйте изменить свой url-адрес с
http://KEYTOKEN@example.com/api/
в
http://example.com/api/?ws_key=KEYTOKEN

08.12.2019 10:25:36
для меня я попытался с react app я должен был сделать некоторые изменения в dispatcher.PHP и добавить для варианта предполетное 200 вернуться
я добавил в диспетчерской.заголовок в PHP
//to access from external browser
header('Access-Control-Allow-Origin: *');
header( 'Access-Control-Allow-Headers: Authorization, Access-Control-Allow-Headers,
Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-
Control-Request-Headers,Output-Format');
header( 'Access-Control-Allow-Methods: GET, OPTIONS, HEAD, PUT, DELETE');
header( 'Access-Control-Allow-Credentials: true');
затем модифицируется следующим образом после в коде
if ($method === 'OPTIONS') {
die('200');
ob_end_flush();
}else{
if (isset($_SERVER['PHP_AUTH_USER'])) {
....
}