Nginx(5)Ajaxドメイン間アクセスの構成
nginxドメイン間アクセスを構成するメリットは、バックエンドコードを変更しないことです.
nginxは戻りヘッダにヘッダをいくつか追加すればよい
add_header 'Access-Control-Allow-Headers' 'Content-Type';add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Methods' 'GET';
具体的にはnginx.confの構成:
バックエンドテストコード:
フロントエンドテストコード:
テスト結果:
nginxは戻りヘッダにヘッダをいくつか追加すればよい
add_header 'Access-Control-Allow-Headers' 'Content-Type';add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Methods' 'GET';
具体的にはnginx.confの構成:
upstream gao.com{
server 192.168.4.199:8084 weight=1;
server 192.168.4.199:8085 weight=1;
server 127.0.0.1:8084 weight=1;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://gao.com;
proxy_redirect default;
proxy_connect_timeout 1s;
proxy_read_timeout 1s;
proxy_send_timeout 1s;
add_header 'Access-Control-Allow-Headers' 'Content-Type';
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET';
}
バックエンドテストコード:
@RestController
public class RedisController implements CommandLineRunner {
@RequestMapping("/test")
public Object test(String name, String no, HttpServletRequest req) {
String sid = req.getSession().getId();
return String.valueOf(i) + System.getProperty("user.dir") + o.name+",sessionid="+sid;
}
}
フロントエンドテストコード:
ajax
$(document).ready(function(){
$.ajax({
type: "POST",
/* dataType: 'json', */
url: "http://192.168.4.200/redis/test",
data: {
openid: "testajax",
sign: "testsign"
},
success: function(data) {
console.log(data)
$('.detial_f').show().html(data);
},
error: function() {
alert("fail!!!, !");
}
});
});
テスト結果: