Я использую тонкий php-фреймворк с использованием nginx, я также включил CORS. Теперь, когда я делаю запрос к моему Rest API из какого-либо другого домена, сначала вызывается метод option, а затем вызывается метод post с фактическими данными поста. Ответ для POST — 200, но данные из API отсутствуют.
Но когда я пытаюсь сделать то же самое с тем же доменом, все работает идеально.
РАБОТАЮЩИЙ
$.ajax({
url: "http://172.19.4.130/oam_restapi/restapi/loginpost",
type: 'post',
dataType: 'json',
contentType: "application/json; charset=utf-8",
crossDomain:true,
data : JSON.stringify({
"username" : "admin",
"password" : "admin!23B",
"domain" : "local"
}),
success: function(res) {
console.log(res);
}
});
когда этот вызов ajax выполняется как 172.19.4.130/makeajax.html
Не работает
Когда этот же вызов выполняется как localhost/makeajax.html
Я понимаю CORS, и то же самое раньше работало с APACHE
Конфигурация Nginx
location /oam_restapi/restapi/ {
satisfy any;
add_header Access-Control-Allow-Origin *;
root /html/oam_restapi/restapi/;
index index.php;
try_files $uri /oam_restapi/restapi/index.php;
}