>웹 프론트엔드 >JS 튜토리얼 >jquery.ajax에 전달된 URL에 표시되는 왜곡된 중국어 문자를 처리하는 방법

jquery.ajax에 전달된 URL에 표시되는 왜곡된 중국어 문자를 처리하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-04-26 10:51:551429검색

이번에는 jquery.ajax에 URL이 전달될 때 한자가 깨졌을 때 처리하는 방법을 보여 드리겠습니다. 주의사항은 무엇인가요?

JQuery

JQuery의 기본 contentType: application/x-www-form-urlencoded

이것이 JQuery가 왜곡되는 이유입니다. 문자 집합을 지정하지 않으면 ISO-8859-1

이 사용됩니다. ISO8859-1, 일반적으로 Latin-1이라고 합니다. Latin-1에는 모든 서유럽 언어를 작성하는 데 필수적인 추가 문자가 포함되어 있습니다.

JQuery의 Ajax는 국제화 문제를 전혀 고려하지 않고 유럽 문자 집합을 사용했기 때문에 중국어 전송 시 문자가 깨져버리는 문제가 발생했습니다.

그리고 UTF-8은 이 문제를 해결할 수 있습니다.

궁극적으로는 JQuery 코드를 수정하고 contentType이 utf-8 문자 집합을 사용함을 명시적으로 선언해야 GB2312 중국어 전송 문제를 해결할 수 있다는 의미입니다.

1. JQuery 코드 수정

JQuery 코드를 수정하고 charset=UTF-8만 추가하면 됩니다. 이렇게 하면 페이지의 web.config나 인코딩을 변경할 필요가 없습니다. , 서버 측에서 디코딩하기 위해 escapc(str)을 사용할 필요가 없습니다. 영어로 전달되는 방식은 중국어로도 전달됩니다.

사용된 jquery 파일 수정: jquery-1.4.4.min.js

ajaxSettings:
{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded
;charset=UTF-8
",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest}

2. Js 코드:

function confirmcommit(){
    var wlCompany = $("#wlCompany").val();//这里含有中文
    var wlId = $("#wlId").val();
    var proposer = $("#proposer").val();
    if(confirm("确认要换货吗")){
$.ajax({
type:'POST',
url:'${pageContext.request.contextPath}/returnGoods/confrimExchangeGoods.do',
data:'wlCompany='+wlCompany+'&wlId='+wlId+'&proposer='+proposer, //直接传值
dataType:'text',
error:function(){
    alert("JQuery AJAX Error!");     
},
success:function(msg){
    alert(msg);
    return;
    if(msg=='换货成功'){
 document.location="${pageContext.request.contextPath}/orderItem/queryProduceItem.do?orderBusType="+${orderBusType};
    }
}
});
     }
 }

3. Java 코드:

public ActionForward confrimExchangeGoods(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
log.info("确认换货 confrimExchangeGoods start...............");
response.setCharacterEncoding("UTF-8"); //这里要设置一下
String wlCompany = request.getParameter("wlCompany");
String wlId = request.getParameter("wlId");
String proposer = request.getParameter("proposer");     .....}

사례를 읽으신 후 메소드를 마스터하신 것 같습니다. 이 기사를 참조하세요. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

iframe에서 페이지 앵커 오류를 처리하는 방법

iframe에서 문서 객체를 얻는 단계에 대한 자세한 설명

위 내용은 jquery.ajax에 전달된 URL에 표시되는 왜곡된 중국어 문자를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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