Nginx(5) 配置Ajax跨域访问

19 篇文章 0 订阅
15 篇文章 1 订阅

配置nginx跨域访问的好处是可以不修改后端代码


nginx只要在返回头添加几个header即可

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;
	}
}

前端测试代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>测试ajax和跨域访问</title>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
</head>
<script type="text/javascript">
$(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!!!,请刷新再试!");
        }
    });
});
</script>
<body>
	<div class="button_control">
		<button onClick ="getpara()" class="button_start">按钮</button>
	</div>
	<div class="test">
		<p class="detial_f"></p>
	</div>
</body>
</html>

测试结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值