This time I will bring you how to use Nginx to avoid ajax cross-domain requests and use Nginx to avoid ajax cross-domain requests. What are the precautions? Here are actual cases, let’s take a look.
nginx + tomcat on the server, where nginx listens to port 80 and tomcat listens to port 8080.
Because I am not familiar with the front-end, I thought that using ajax would eliminate the need for callback. However, the front-end classmates said that callback is not needed unless it is cross-domain, and asked me to add it to the returned json. But I just learned the most basic usage of spring-mvc, and I don’t know how to add callback
I found some feasible code online, which looks like this:
@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(); } }
However, this change is not helpful It's a real hassle for me because I have too many URL mappings and the cost of modification is too high.
So I was smart and thought of nginx. Isn’t this guy just used for reverse proxy? It’s so clever as me
With this idea, it’s easy to do it. Directly add a location to the server listening on port 80:
location /myApp { proxy_pass http://localhost:8080/myApp; }
Reload nginx:
{NGINX_HOME}/sbin/nginx -s reload
I believe you have mastered the method after reading the case in this article, more exciting Please pay attention to other related articles on php Chinese website!
Recommended reading:
How to use readyState and status in Ajax
How to use get and post in Ajax What problems are encountered and how to deal with them
The above is the detailed content of Use Nginx to avoid ajax cross-domain requests. For more information, please follow other related articles on the PHP Chinese website!