오늘은 할일도 없고 간단한 Ajax연습도 하는데 오랫동안 고민했습니다. IE, 360, Firefox 브라우저에서는 정상적으로 실행되는데, Google Chrome에서는 정상적으로 실행되지 않습니다. ? 너무 고민하다가 드디어 해결책을 찾았습니다. 저와 같은 문제를 겪고 있는 친구들에게 도움이 되고자 여기에 공유하고 싶습니다.
문제 분석: 내 Ajax 코드는 IE 브라우저, 360 IE 코어 브라우저에 있습니다. Firefox에서는 모두 정상적으로 실행되지만 GOOGLE CHROME에서는 머리가 많이 아프고 올바른 결과가 항상 표시되지는 않습니다.
제 로컬 개발 환경은 다음과 같습니다.
google chrome 버전 28.0.1469.0m
Server Tomcat6.0
서버측 Spring MVC의 코드는 다음과 같습니다.
컨트롤러 부분:
@RequestMapping(value="/searchRecordBlackListByCardId.json") public String searchRecordBlackListByCardId(HttpServletRequest request,HttpServletResponse response,String cardId,ModelMap mm){ response.setContentType("application/json;charset=UTF-8"); PwCardSpeciallist pcs = blackListService.getRecordBlackListByCardId(cardId); mm.addAttribute("pwCardSpeciallist", pcs); return "jsonView"; }
xxx-Servlet.XML 구성 부분:
<bean id="jsonView" class="net.sf.json.spring.web.servlet.view.JsonView"/> <bean id="beanNameResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver"> <property name="order" value="0" /> </bean> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:viewClass="org.springframework.web.servlet.view.JstlView" p:order="100" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
앞 페이지 부분:
<script type="text/javascript"> $(document).ready(function(){ $("#searchBlack").click(function(){ $.get('${requestScope.basePath}searchRecordBlackListByCardId.json', { cardId : encodeURI( '123456789' ) }, function (data, textStatus){ alert(data.pwCardSpeciallist.cardId); },'json'); return false; }) }); </script>
위의 문제에 대해 모두가 알 수 있도록 세 개의 스크린샷이 제공됩니다. . . .
첫 번째는 localhost:8080/cardDemo/searchRecordBlackList.html# 주소를 사용하여 액세스할 때:
두 번째는 127.0.0.1:8080:8080/cardDemo/searchRecordBlackList.html# 주소를 사용하여 액세스할 때 :
세 번째 사진, 내 로컬 IP를 사용하여 192.168.1.100:8080/cardDemo/searchRecordBlackList.html#
일부 보안 정책 요구 사항으로 인해 Google Chrome에서 액세스를 금지하는 것으로 나타났습니다. 로컬 아약스 자원! 이것은 여전히 약간의 부정행위입니다. 제가 이전에 근무했던 회사는 특정 프로젝트에서 "GOOGLE CHROME 브라우저만 지원"한다고 주장했습니다.
이 이야기는... 앞으로 디버깅할 때 127.0.0.1이나 localhost를 사용하는 대신 로컬 IP를 사용하여 SERVER에 액세스하도록 해야 합니다. 그래야 저처럼 몇 시간을 소비하지 않게 됩니다. 이 오류.
위 내용은 제가 여러분을 위해 정리한 내용입니다. 앞으로 도움이 되길 바랍니다.
관련 기사:
jQuery post를 사용하여 특수 문자가 포함된 데이터를 전달하는 방법
위 내용은 Google 크롬 브라우저에서 Ajax 오류를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!