>  기사  >  웹 프론트엔드  >  JQuery ajaxSubmit으로 제출된 중국어 왜곡 코드를 해결하는 방법

JQuery ajaxSubmit으로 제출된 중국어 왜곡 코드를 해결하는 방법

亚连
亚连원래의
2018-05-25 09:47:452641검색

이 기사에서는 jquery ajax 제출 중국어 왜곡 문자 제출 문제에 대한 해결책을 공유할 것입니다. 관심 있는 친구들은 저를 따라와서 배울 수 있습니다.

대부분의 사람들은

jQuery(form).ajaxSubmit({ 
url: "ajaxsub.aspx?abc=test",
type: "post", 
dataType: "json", 
success: data
});

을 사용합니다. 분석: JQuery의 AJAX 제출은 데이터 인코딩하려면 encodeURIComponent를 사용하여 js에서 데이터를 처리합니다. 따라서 Firefox이든 IE이든 제출된 데이터는 일관되며 UTF-8로 인코딩된 데이터입니다.

헤더를 보고 Entity의 Content-Type에 차이가 있는지 확인하세요

Firefox에서 Content-Type은 문자 집합을 utf-8로 지정합니다.

그러나 IE에는 문자 세트 사양이 없습니다.

분명히 AJAX 비동기 제출의 문자 인코딩은 웹 페이지 자체와 일치해야 합니다. 즉, 서버 측에서는 표시된 문자 세트 사양을 찾지 못합니다. . , gb2312를 사용하여 IE에서 문자 왜곡의 근본 원인인 데이터를 디코딩합니다(그러나 데이터는 제출 전에 UTF-8로 인코딩되었습니다). Firefox에서는 브라우저가 AJAX 데이터를 제출할 때 다음과 같은 디스플레이 사양을 추가합니다. charset을 사용하면 서버가 UTF-8을 사용하여 데이터를 디코딩합니다(올바른 디코딩).

JQuery의 AJAX 도구 기능에 대한 설명을 확인해보니 옵션에 content-type을 지정하는 매개변수가 있는 것을 발견했습니다

그래서 제출 시 인코딩 유형을 지정해야 합니다

contentType: "application/x-www-form-urlencoded; charset=utf-8",

그 내용은 다음과 같습니다

jQuery(form).ajaxSubmit({ 
url: "ajaxsub.aspx?abc=test", 
type: "post", 
dataType: "json", 
contentType: "application/x-www-form-urlencoded; charset=utf-8", 
success: data
});

위의 내용은 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

JQuery ajax가 json을 반환할 때 중국어 문자 깨짐을 해결하는 방법

Django 프레임워크에서 ajax post 메서드를 사용하는 방법

동적 페이징을 구현하기 위한 ajax +jtemplate에 대한 자세한 설명

위 내용은 JQuery ajaxSubmit으로 제출된 중국어 왜곡 코드를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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