이 기사의 예는 jquery 새로 고침 문제를 소개하기 위해 두 부분으로 나누어져 있습니다. 첫 번째 부분에서는 페이지의 부분 새로 고침을 소개하고, 두 번째 부분에서는 페이지 전체 새로 고침을 소개합니다.
첫 번째: 부분 페이지 새로 고침
jQuery는 Ajax 작업을 캡슐화합니다. jQuery에서 $.ajax() 메서드는 가장 낮은 수준의 메서드이고 두 번째 계층은 laod(), $.get() 및 $.post() 메서드입니다. 레이어는 $.getScript() 및 $.getJSON() 메서드입니다.
분석에 집중 load() 메서드는 일반적으로 웹 서버에서 정적 데이터 파일을 가져오는 데 사용됩니다. 일부 매개변수를 서버의 페이지에 전달하려면 $.get() 또는 $.post() 메서드 $를 사용할 수 있습니다. 아약스 방식
load() Code //无参数传递,则是GET方式 $("#resText").load("test.php",function(){ //...... }); //有参数传递,则是POST方式 $("#resText").load("test.php",{name:"xht555",age:"24"},function(){ //...... });
post와 get의 차이점에 대해 간단히 이야기해 보겠습니다.
get: get 메소드를 사용하여 간단한 데이터를 전송합니다(즉, 브라우저는 URL 매개변수의 형식에 따라 각 양식 필드 요소와 해당 데이터를 URL 끝에 추가합니다). 그러나 크기는 일반적으로 다음으로 제한됩니다. 1KB는 클라이언트 브라우저에 의해 캐시됩니다. 일어나세요. 안전하지 않습니다.
post: 브라우저는 각 양식 필드 요소와 해당 데이터를 URL 주소의 매개변수로 전달하는 대신 HTTP 메시지의 엔터티 콘텐츠로 웹 서버에 보냅니다.
요약:
1: GET 방식은 적은 양의 데이터를 전송하고 처리 효율이 높으며 보안이 낮으며 캐시되지만 POST의 경우 그 반대입니다.
2: AJAX 왜곡 문제
문자가 왜곡된 이유:
1. xtmlhttp에서 반환된 데이터의 기본 문자 인코딩은 utf-8입니다. 클라이언트 페이지가 gb2312 또는 기타 인코딩된 데이터인 경우 잘못된 문자가 생성됩니다.
2. post 메소드로 제출된 데이터의 기본 문자 인코딩은 utf-8입니다. 서버 측 인코딩이 gb2312 또는 기타 인코딩 데이터인 경우 잘못된 문자가 생성됩니다
해결책은 다음과 같습니다.
1. 클라이언트가 gb2312 인코딩을 사용하는 경우 서버에서 출력 스트림 인코딩을 지정합니다
2. 서버와 클라이언트 모두 utf-8 인코딩을 사용합니다
gb2312:header('Content-Type:text/html;charset=GB2312');
utf8:header('Content-Type:text/html;charset=utf-8');
참고: 위 방법을 따랐으나 여전히 잘못된 문자가 반환되는 경우, 해당 방법이 get인지 확인하세요(또는 URL 전달 매개변수와 관련된 모든 경우). encodeURIComponent인 경우 전달된 매개변수가 먼저 전달되어야 합니다. 사용하지 않으면 잘못된 문자도 생성됩니다
$.post() Code //$.post()方式: $('#test_post').click(function (){ $.post( 'ajax_json.php', { username:$('#input1').val(), age:$('#input2').val(), sex:$('#input3').val(), job:$('#input4').val() }, function (data) //回传函数 { var myjson=''; eval('myjson=' + data + ';'); $('#result').html("姓名:" + myjson.username + "<br/>工作:" + myjson['job']); } ); }); $.get() Code //$.get()方式: $('#test_get').click(function () { $.get( 'ajax_json.php', { username:$("#input1").val(), age:$("#input2").val(), sex:$("#input3").val(), job:$("#input4").val() }, function(data) //回传函数 { var myjson=''; eval("myjson=" + data + ";"); $('#result').html("姓名:" + myjson.username + "<br/>工作:" + myjson['job']); } ); }); }); $.getJson(”Default.php”, {id:”1″, page: “2″ }, function(data){ //注意,这里返回的JSON数据格式,不同于xml. });
두 번째: 모든 페이지 새로 고침
위 내용은 이 글의 자세한 내용으로, 모든 분들의 공부에 도움이 되었으면 좋겠습니다.