>  기사  >  웹 프론트엔드  >  jquery ajax가 ie8과 호환되지 않는 문제를 해결하는 방법

jquery ajax가 ie8과 호환되지 않는 문제를 해결하는 방법

藏色散人
藏色散人원래의
2021-01-05 09:13:482390검색

ie8과 호환되지 않는 jquery ajax에 대한 솔루션: 먼저 해당 코드 파일을 연 다음 JSON 형식을 사용하여 "{foo:["bar1", "bar2"]}"와 같은 코드 문을 사용하여 데이터를 요청합니다.

jquery ajax가 ie8과 호환되지 않는 문제를 해결하는 방법

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

추천: "javascript 기본 튜토리얼" "jquery 비디오 튜토리얼"

IE

jQuery의 AJAX:get 메소드를 사용하여 데이터 존재 여부를 감지하는 경우, IE가 호환되지 않는 것으로 확인되었습니다.

AJAX:post 메소드를 사용하면 Chrome/FireFox/IE를 사용할 때 올바른 결과가 나타날 수 있지만 AJAX:get 메소드를 사용할 경우 IE는 올바른 결과를 반환할 수 없습니다.

데이터가 get 메소드의 길이 제한을 초과하는 것은 아닐까요? 전체 데이터 중 일부만 전송한 것은 불가능합니다. 들어오지 못하게 하다.

인터넷의 일부 네티즌들은 IE 캐시에 문제가 있다고 말했습니다. 새로운 Date().getTime()에 시간 번호를 추가하는 등 요청 데이터 뒤에 임의의 숫자를 추가하면 됩니다.

이전 코드에 난수를 추가했는데 "Math.random()"을 사용하면 작동하지 않습니다. 시간을 사용하는 것이 더 안정적입니까?

그런 다음 시간을 가져오도록 변경해 보세요. 매개변수 뒤에 "new Date().getTime()"을 추가하고 반복적으로 테스트해 보지만 여전히 작동하지 않습니다. 이 오류도 제거되었습니다.

매뉴얼을 반복적으로 확인한 결과 요청한 데이터 형식이 여전히 {foo:["bar1", "bar2"]}와 같은 JSON 형식인 것을 발견하고 이 형식으로 작성했으며 올바른 쿼리는 결과가 실제로 반환되었습니다. IE에 여전히 이런 요구 사항이 있는지는 정말 몰랐습니다. (끝)

이전 형식:

type: "get",
data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp="+new Date().getTime(),

개선된 형식:

type: "get",
data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},

jQuery 매뉴얼에는 다음과 같이 설명되어 있습니다.

data Object,String

데이터가 서버로 전송됩니다. 요청 문자열 형식으로 자동 변환됩니다. GET 요청의 URL에 추가됩니다.

이 자동 변환을 비활성화하려면 processData 옵션 설명을 참조하세요. 키/값 형식이어야 합니다.

배열인 경우 jQuery는 자동으로 동일한 이름을 다른 값에 할당합니다. 예를 들어, {foo:["bar1", "bar2"]}는 "&foo=bar1&foo=bar2"로 변환됩니다.

코드 조각:

var siteUrl="http://blog.sina.com.cn/cnwyt"; 
jQuery.ajax({
type: "get",
url: siteUrl+"cosmetics/product/ajax_check?",
//data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp=" + new Date().getTime(),
data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},
dataType: 'json',
error: function (err) { alert('网络故障,请与管理员联系!') },
success: function (message) {
if(message!=false){
//ture的代码
}else{
//false的代码
}
});

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육을 방문하세요! !

위 내용은 jquery ajax가 ie8과 호환되지 않는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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