>  기사  >  웹 프론트엔드  >  Ajax 도메인 간 요청을 방지하려면 Nginx를 사용하세요.

Ajax 도메인 간 요청을 방지하려면 Nginx를 사용하세요.

php中世界最好的语言
php中世界最好的语言원래의
2018-04-04 11:52:421558검색

이번에는 Nginx를 사용하여 ajax 도메인 간 요청을 방지하는 주의 사항과 Nginx를 사용하여 ajax 도메인 간 요청을 방지하는 방법을 알려드리겠습니다. 다음은 실제 사례입니다.

서버의 nginx + tomcat, nginx는 포트 80을 수신하고 Tomcat은 포트 8080을 수신합니다.

저는 프론트엔드에 익숙하지 않아서 ajax를 사용하면 콜백이 필요 없을 줄 알았는데, 프론트엔드에 있는 동기들이 크로스 도메인이 아니면 콜백은 필요없다고 하더군요. 반환된 json에 추가하세요. 하지만 방금 spring-mvc의 가장 기본적인 사용법을 배웠고 콜백을 추가하는 방법을 모르겠습니다. 온라인에서 다음과 같은 몇 가지 실행 가능한 코드를 찾았습니다.

@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();
}
}

그러나 이러한 변경은 나에게 단순히 긴장감을 줍니다. .Bone, URL 매핑이 너무 많고 수정 비용이 너무 높기 때문입니다.

그래서 나는 똑똑해서 nginx를 생각했습니다. 이 사람은 단지 역방향 프록시에만 사용되는 것 아닌가요? 당신은 정말 나만큼 똑똑해요

이 아이디어만 있으면 쉽게 할 수 있어요. 포트 80에서 수신 대기하는 서버에 직접 위치 추가:

location /myApp {
proxy_pass http://localhost:8080/myApp;
}

nginx 다시 로드:

{NGINX_HOME}/sbin/nginx -s reload
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 다른 관련 기사에 주목하세요. PHP 중국어 웹사이트에서!

추천 자료:

Ajax에서 ReadyState 및 status를 사용하는 방법


Ajax에서 get 및 post를 사용할 때 직면하게 되는 문제와 이를 처리하는 방법

위 내용은 Ajax 도메인 간 요청을 방지하려면 Nginx를 사용하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.