關於jQuery頁面刷新(局部、全部)問題


第一:頁面局部刷新:

jQuery對Ajax操作進行了封裝,在jQuery中$.ajax()方法屬於最底層的方法,第2層是laod()、$.get()和$.post()方法,第3層是$.getScript()和$.getJSON()方法。

 

$.ajax()Code

 

load()方法通常用來從Web服務器上獲取靜態的數據文件.要傳遞一些參數給服務器中的頁面,那么可以使用$.get()或者$.post()方法$.ajax方法

load() Code
1 //無參數傳遞,則是GET方式
2 $("#resText").load("test.php",function(){
3 //......
4 });
5 
6 //有參數傳遞,則是POST方式
7 $("#resText").load("test.php",{name:"xht555",age:"24"},function(){
8 //......
9 }); 

 

 

簡單說一下 post 與get 區別:

get:用get方式可傳送簡單數據(即:瀏覽器將各個表單字段元素及其數據按照URL參數的格式附加在url后面),但大小一般限制在1KB下;被客戶端的瀏覽器緩存起來,不安全。

post:覽器把各表單字段元素及其數據作為HTTP消息的實體內容發送給Web服務器,而不是作為URL地址的參數進行傳遞,  

總結:

一:GET方式傳送數據量小,處理效率高,安全性低,會被緩存,而POST反之。 

二: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,對於get請求(或凡涉及到url傳遞參數的),被傳遞的參數都要先經 encodeURIComponent方法處理.如果沒有用encodeURIComponent處理的話,也會產生亂碼 

$.post() Code
 1 //$.post()方式:
 2 $('#test_post').click(function (){
 3     $.post(
 4       'ajax_json.php',
 5       {
 6         username:$('#input1').val(),
 7         age:$('#input2').val(),
 8         sex:$('#input3').val(),
 9         job:$('#input4').val()
10       },
11       function (data) //回傳函數
12       {
13         var myjson='';
14         eval('myjson=' + data + ';');
15         $('#result').html("姓名:" + myjson.username + "<br/>工作:" + myjson['job']);
16       }
17     );
18    });
$.get() Code
 1 //$.get()方式:
 2 $('#test_get').click(function ()
 3 {
 4     $.get(
 5       'ajax_json.php',
 6       {
 7         username:$("#input1").val(),
 8         age:$("#input2").val(),
 9         sex:$("#input3").val(),
10         job:$("#input4").val()
11       },
12       function(data) //回傳函數
13       {
14         var myjson='';
15         eval("myjson=" + data + ";");
16          $('#result').html("姓名:" + myjson.username + "<br/>工作:" + myjson['job']);
17       }
18     );
19 });
20 
21 
22 });
$.getJson()Code
1 $.getJson(”Default.php”, {id:”1″, page: “2″ },
2 function(data){
3 //注意,這里返回的JSON數據格式,不同於xml.
4 });

 關於GetJson: demo 詳見:http://www.cnblogs.com/jams742003/category/225387.html

第二:頁面全部刷新:

Demo Code
1 window.location.reload()刷新當前頁面.
2 parent.location.reload()刷新父親對象(用於框架)
3 opener.location.reload()刷新父窗口對象(用於單開窗口)
4 top.location.reload()刷新最頂端對象(用於多開窗口)

 

參考資料:

tks:

http://friendship517.blog.163.com/blog/static/5705127820091131113932372/  

http://dhjdhja.blog.163.com/blog/static/64721136201277101839334/

http://hi.baidu.com/wangjijun/item/6d881ad6568e34cb1b72b453


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM