`
kavy
  • 浏览: 866074 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

nginx解决Ajax跨域问题

 
阅读更多

今天遇到一个ajax跨域问题,下拉框的数据源要从一个接口获得,但是该接口被部署到另外一台服务器上,在本地可以通过http请求访问,并可以返回json的数据,但是放到页面中不可以获取到下拉框的值,发现chrome控制台中该请求成功,但是没有返回值,于是便遇到了跨域的问题,请教一同事,问题得到解决:

1.搭建nginx服务器

  下载nginx,我用的是nginx1.0.0,下载之后放到一个目录中,修改其中的配置文件conf目录中的ngnix.conf文件

2.找到配置中的server{}标签,在里面的localtion/{}标签中添加一句

  proxy_pass http://localhost:8080/;

 

  添加后的整体效果为:

1 location / {
2             root   html;
3             index  index.html index.htm;
4             proxy_pass     http://localhost:8080/;
5         }    

  其中第4行为新加入的

3.在该标签下自己新建一个标签,如下:

1 location /partner{
2             proxy_pass http://10.23.3.31/partner;
3         }

这个proxy_pass http://10.23.3.31/partner就是你要访问的域

server标签的整体配置为:

复制代码
 1 server {
 2         listen       80;
 3         server_name  localhost;
 4 
 5         #charset koi8-r;
 6 
 7         #access_log  logs/host.access.log  main;
 8 
 9         location / {
10             root   html;
11             index  index.html index.htm;
12             proxy_pass http://localhost:8080/;
13         }
14         location /partner{
15             proxy_pass http://10.23.3.31/partner;
16         }
17 
18         #error_page  404              /404.html;
19 
20         # redirect server error pages to the static page /50x.html
21         #
22         error_page   500 502 503 504  /50x.html;
23         location = /50x.html {
24             root   html;
25         }
26 
27         # proxy the PHP scripts to Apache listening on 127.0.0.1:80
28         #
29         #location ~ \.php$ {
30         #    proxy_pass   http://127.0.0.1;
31         #}
32 
33         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
34         #
35         #location ~ \.php$ {
36         #    root           html;
37         #    fastcgi_pass   127.0.0.1:9000;
38         #    fastcgi_index  index.php;
39         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
40         #    include        fastcgi_params;
41         #}
42 
43         # deny access to .htaccess files, if Apache's document root
44         # concurs with nginx's one
45         #
46         #location ~ /\.ht {
47         #    deny  all;
48         #}
49     }
复制代码

其中12、14、15、16行为自己手动添加的

修改完毕后,启动nginx.exe程序

注意,此时访问的路径会发生变化,不需要带端口号,如果之前的访问为:localhost:8080//oss-api-server...

现在需要改为:localhost//oss-api-server...即可得到从别的域中取回来的数据!

 

转自:http://www.cnblogs.com/ylee/archive/2013/04/27/3047371.html

分享到:
评论

相关推荐

    nginx 配置跨域失效修复的方法示例

    nginx 配置跨域不生效 如下配置 server { listen 80; server_name localhost; # 接口转发 location /api/ { # 允许请求地址跨域 * 做为通配符 add_header 'Access-Control-Allow-Origin' '*'; # 设置请求...

    深入浅析Nginx实现AJAX跨域请求问题

    那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Control*指令。如下所示: location /{ add_header 'Access-Control-Allow-Origin' 'http://other.subdomain.com'; add...

    Nginx解决转发地址时跨域的问题

    一、什么是跨域问题 在一个服务器A里放置了json文件,另一个服务器B想向A发送ajax请求,获取此文件,会发生错误。 Chrome提示: XMLHttpRequest cannot load ******. No 'Access-Control-Allow-Origin' header is ...

    nginx服务器通过配置来解决API的跨域问题

    前言 最近在采用jquery ajax调用http请求时,发现了一系列问题: 如采用firebug调试API请求(这个API是自己服务器的应用),看到服务器明明返回200状态,response返回数据也是...后来才知道是跨域问题(CORS),因为

    Ajax跨域详解与代码

    Ajax跨域问题详解,包括详解内容、java代码、nginx等详细信息,可以直接运行

    nginx服务器配置解决ajax的跨域问题

    本文给大家分享的是一个nginx服务器配置解决ajax的跨域问题的小技巧,非常的实用,有相同需求的小伙伴可以参考下

    Nginx服务器中处理AJAX跨域请求的配置方法讲解

    Nginx 实现AJAX跨域请求 AJAX从一个域请求另一个域会有跨域的问题。那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Control*指令。如下所示: location /{ add_header ...

    利用nginx解决跨域问题的方法(以flask为例)

    前言 我们单位的架构是在api和js之间架构一个中间层(python编写),以实现后端渲染,登录状态判定,跨域转发api等功能。但是这样一个中间会使前端...解决跨域问题方法很多:反向代理,jsonp,Cross-Origin Resource

    解决 springboot跨域请求问题

    springboot做前后端分离,ajax跨域请求问题 前后端分离:即将后端服务层与前端展示层分别开发和部署,因而产生两个需要打包发布的项目, 将两个分别部署后,前端再去请求后端就会产生跨域请求的问题。 两种解决方案

    跨域WebService请求-Nginx_SOAP服务_Ajax客户端.docx

    2 原理:Nginx将不同域的HTTP服务、网站放入统一的域中,规避跨域问题。 不同的服务器位置于不同的域。JavaScript安全性不允许POST的跨域请求(GET可以与服务器配合使用JSONP,有些勉强)。SOAP只能使用POST请求,...

    Nginx 解决WebApi跨域二次请求以及Vue单页面的问题

    由于项目是前后端分离,API接口与Web前端 部署在不同站点当中,因此在前文当中WebApi Ajax 跨域请求解决方法(CORS实现)使用跨域处理方式处理而不用Jsonp的方式。 但是在一段时间后,发现一个很奇怪的问题,每次...

    利用Nginx代理如何解决前端跨域问题详析

    前言 Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。 本文将讲述如何使用 Nginx ...这在开发过程中会导致 跨域 问题,即在一个域名下的网页,是无法通过 Ajax 请求另

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

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

    nginx下载安装使用

    最近写了一下前端的东西,在请求网络的时候,Ajax的跨域问题,要用nginx进行代理,才能访问到

    iframe跨域与session失效问题的解决办法

    何为跨域跨域session/cookie? 也就是第三方session/cookie。第一方session/cookie指的是访客当前访问的网站给访客的浏览器设置的seesion /cookie, 会被存储在访客的计算机上。第三方session/cookie指的是当前访问的...

    跨域携带cookie案例.rar

    前后端分离必定面临跨域问题,以下是两个跨域请求携带cookie的nginx服务,完美演示跨域请求携带cookie

    解决前后端分离 vue+springboot 跨域 session+cookie失效问题

    主要介绍了前后端分离 vue+springboot 跨域 session+cookie失效问题的解决方法,解决过程也很简单 ,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics