jQuery 페이지 새로 고침(부분, 전체) 문제 분석_jquery

WBOY
풀어 주다: 2016-05-16 15:20:54
원래의
1325명이 탐색했습니다.

이 기사의 예는 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.
});


로그인 후 복사

두 번째: 모든 페이지 새로 고침

  • 1 window.location.reload()는 현재 페이지를 새로 고칩니다.
  • 2 parent.location.reload()는 상위 객체를 새로 고칩니다(프레임워크용)
  • 3 opener.location.reload()는 상위 창 객체를 새로 고칩니다(단일 열린 창의 경우)
  • 4 top.location.reload()는 상단 개체를 새로 고칩니다(여러 창의 경우)

위 내용은 이 글의 자세한 내용으로, 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!