>웹 프론트엔드 >JS 튜토리얼 >jquery ajax가 잘못된 코드를 제출하는 경우 수행할 작업

jquery ajax가 잘못된 코드를 제출하는 경우 수행할 작업

藏色散人
藏色散人원래의
2021-01-07 09:52:452308검색

jquery ajax에서 제출한 잘못된 코드에 대한 해결 방법: 1. 인코딩 설정을 통합합니다. 2. post 메서드를 사용하여 매개변수를 전달합니다. 3. js 프런트 엔드에서 인코딩을 이스케이프 처리한 다음 백그라운드에서 디코딩합니다. 4. contentType을 전체적으로 설정하고 인코딩만 지정하면 됩니다.

jquery ajax가 잘못된 코드를 제출하는 경우 수행할 작업

이 튜토리얼의 운영 환경: Windows 7 시스템, jquery 버전 1.10.0, Dell G3 컴퓨터.

권장: jquery 튜토리얼

jquery ajax가 잘못된 데이터를 제출하면 어떻게 해야 합니까?

jquery를 사용하여 HTML5 응용 프로그램을 처리할 때 Firefox에서 테스트하면 정상입니다. 사용자가 패드를 사용하여 액세스하면 문자가 깨져 있다고 직접 테스트해 보니 이런 문제가 있는 것으로 나타났습니다. chrome 및 ie 커널에서 이 문제가 utf-8로 설정되면 Firefox만 charset=utf-8 헤더 파일을 전달하고 Chrome과 IE는 이를 지정하지 않으므로 잘못된 문자가 나타납니다.

코드는 다음과 같습니다.

$.ajaxSetup({
  contentType: "application/x-www-form-urlencoded; charset=utf-8"
});
$.post("test.php", { name: "i5a6", time: "2pm" },
   function(data){
     process(data);
   }, "json");

또는 사용:

코드는 다음과 같습니다.

$.ajax({
  url:url,
  type:"POST",
  data:data,
  contentType:"application/x-www-form-urlencoded; charset=utf-8",
  dataType:"json",
  success: function(){
    ...
  }
})

첫 번째 코드를 사용하는 것이 좋지만 실제 상황에 따라 문자 변환을 위해 encodeURIComponent를 사용하는 것이 좋습니다.

Ajax가 잘못된 데이터를 제출하는 경험을 요약하려면

잘못된 문자를 방지하려면 다음 단계를 수행하세요.

Solution

1. 파일 인코딩, 데이터베이스 인코딩 및 웹 페이지를 포함하여 인코딩을 통일된 상태로 유지하세요. content-type 인코딩

Check51a6569315ebc558762438a13350be85

중국어의 경우 UTF-8 사용을 권장합니다. gb2312로 인해 문자가 깨질 수 있습니다

2. get 대신에 post를 사용하여 보내기

get 메소드는 링크를 통해 매개변수를 전달하고 자동으로 urlEncode(인코딩)를 수행하며 각 브라우저의 인코딩 방법이 다를 수 있습니다. 게시물을 사용하면 이러한 상황을 피할 수 있습니다.

3. 전송하기 전에 js 프런트엔드에서 인코딩을 이스케이프한 다음 백그라운드에서 디코딩하여 데이터를 얻습니다.

4. contentType을 전역으로 설정하고 인코딩을 지정합니다. jquery ajax는 데이터를 인코딩하고 전송하는 데 utf-8을 사용하기 때문에 IE는 데이터를 전송할 때 charset=utf-8을 추가하지 않아 문자가 깨졌습니다(IE는 기본적으로 iso-8859-1 인코딩을 사용합니다)

코드는 다음과 같습니다. 다음:

$.ajaxSetup({
 contentType: "application/x-www-form-urlencoded; charset=utf-8"
});

더 많은 프로그래밍 관련 지식을 보려면 다음을 방문하세요:

프로그래밍 교육

! !

위 내용은 jquery ajax가 잘못된 코드를 제출하는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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