• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >AJAX > 使用Nginx 反向代理来避免 ajax 跨域请求的方法

使用Nginx 反向代理来避免 ajax 跨域请求的方法

作者:稀土掘金 字体:[增加 减小] 来源:互联网 时间:2017-05-11

稀土掘金通过本文主要向大家介绍了使用Nginx 反向代理来避免 ajax 跨域请求的方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

服务器上 nginx + tomcat ,其中 nginx 监听 80 端口, tomcat 监听 8080 端口。

因为对前端不熟悉,以为用 ajax 就可以不需要 callback ,然而前端的同学说不跨域的情况下才不需要 callback ,让我在返回的 json 里加上。可是我刚刚学会了最基本的 spring-mvc 用法,根本不知道怎么加上 callback

网上到时找到一些可行的代码,差不多这个样子:

@RequestMapping(method=RequestMethod.GET,value="getProjectStatusList",produces="text/html;charset=UTF-8")
@ResponseBody
public String getProjectStatusList(HttpServletRequest request, 
HttpServletResponse response){
Map<String,Object> map = new HashMap<String,Object>();
try{
String callback = request.getParameter("callback");
//System.out.println("token:"+request.getHeader("token"));
List<String> list = ss.getProjectStatusList();
map.put("status", "success");
map.put("data", list);
ObjectMapper mapper = new ObjectMapper();
//这个拼接是重点。。。
String result = callback+"("+mapper.writeValueAsString(map)+")";
//String result = mapper.writeValueAsString(map);
return result;
}catch(Exception e){
JSONObject jo = new JSONObject();
jo.put("status", "fail");
jo.put("data", e.getMessage());
return jo.toString();
}
}
</div>

然而这样改动对我来说简直是伤筋动骨,因为我有太多的 URL 映射,修改的成本太大。

所以机智的我想到了 nginx ,这家伙不就是拿来搞反向代理的吗?真是机智如我

有了这个思路,做起来就简单了。直接在监听 80 端口的 server 中添加一个 location :

location /myApp {
proxy_pass http://localhost:8080/myApp;
}
</div>

重新加载 nginx :

{NGINX_HOME}/sbin/nginx -s reload
</div>

然后就把之前 http://site:8080/myApp 的跨域请求变成了 http://site/myApp 的非跨域请求。

以上所述是小编给大家介绍的使用Nginx 反向代理来避免 ajax 跨域请求的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11Ajax实现无闪烁定时刷新页面实例代码
  • 2017-05-11AJAX和WebService实现省市县三级联动具体代码
  • 2017-05-11Ajax中数据传递的另一种模式 javascript Object Notation思想(JSON)
  • 2017-05-11揭开AJAX神秘的面纱(AJAX个人学习笔记)第1/5页
  • 2017-05-11Ajax修改购物车示例
  • 2017-05-11Ajax轮询请求状态(微信公众号带参数二维码登录网站)
  • 2017-05-11ajax 检测用户名是否被占用
  • 2017-05-11ajax JSONP请求处理回调函数jsonpCallback区分大小写
  • 2017-05-11ajax跨域请求js拒绝访问的解决方法
  • 2017-05-11Ajax 入门之 GET 与 POST 的不同处详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Ajax常见问题有哪些?
    • 无限分级和tree结构数据增删改【附DEMO下载】
    • 原生AJAX封装的简单实现
    • ajax读取数据库内容实现二级联动下拉选择菜单示例
    • ajax 自动完成下拉框 自动提示位置问题
    • Ajax提交表单页面刷新很快的解决方法
    • Ajax局部刷新应用案例---简单登录
    • ajax的json传值方式在jsp页面中的应用
    • ajax提交到servelt获取参数有乱码的解决方法
    • AJAX实现瀑布流布局

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有