jQuery頁面刷新(局部、全部)問題分析
本文實例分兩部分對jquery刷新問題進(jìn)行介紹,第一部分介紹了呢頁面局部刷新;第二部分介紹了頁面全部刷新
第一:頁面局部刷新
jQuery對Ajax操作進(jìn)行了封裝,在jQuery中$.ajax()方法屬于最底層的方法,第2層是laod()、$.get()和$.post()方法,第3層是$.getScript()和$.getJSON()方法。
重點分析load()方法通常用來從Web服務(wù)器上獲取靜態(tài)的數(shù)據(jù)文件.要傳遞一些參數(shù)給服務(wù)器中的頁面,那么可以使用$.get()或者$.post()方法$.ajax方法
load() Code
//無參數(shù)傳遞,則是GET方式
$("#resText").load("test.php",function(){
//......
});
//有參數(shù)傳遞,則是POST方式
$("#resText").load("test.php",{name:"xht555",age:"24"},function(){
//......
});
簡單說一下 post 與get 區(qū)別:
get:用get方式可傳送簡單數(shù)據(jù)(即:瀏覽器將各個表單字段元素及其數(shù)據(jù)按照URL參數(shù)的格式附加在url后面),但大小一般限制在1KB下;被客戶端的瀏覽器緩存起來,不安全。
post:覽器把各表單字段元素及其數(shù)據(jù)作為HTTP消息的實體內(nèi)容發(fā)送給Web服務(wù)器,而不是作為URL地址的參數(shù)進(jìn)行傳遞,
總結(jié):
一:GET方式傳送數(shù)據(jù)量小,處理效率高,安全性低,會被緩存,而POST反之?!?/strong>
二:AJAX亂碼問題
產(chǎn)生亂碼的原因:
1、xtmlhttp 返回的數(shù)據(jù)默認(rèn)的字符編碼是utf-8,如果客戶端頁面是gb2312或者其它編碼數(shù)據(jù)就會產(chǎn)生亂碼
2、post方法提交數(shù)據(jù)默認(rèn)的字符編碼是utf-8,如果服務(wù)器端是gb2312或其他編碼數(shù)據(jù)就會產(chǎn)生亂碼
解決辦法有:
1、若客戶端是gb2312編碼,則在服務(wù)器指定輸出流編碼
2、服務(wù)器端和客戶端都使用utf-8編碼
gb2312:header('Content-Type:text/html;charset=GB2312');
utf8:header('Content-Type:text/html;charset=utf-8');
注 意:如果你已經(jīng)按上面的方法做了,還是返回亂碼的話,檢查你的方式是否為get,對于get請求(或凡涉及到url傳遞參數(shù)的),被傳遞的參數(shù)都要先經(jīng) encodeURIComponent方法處理.如果沒有用encodeURIComponent處理的話,也會產(chǎn)生亂碼
$.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) //回傳函數(shù)
{
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) //回傳函數(shù)
{
var myjson='';
eval("myjson=" + data + ";");
$('#result').html("姓名:" + myjson.username + "<br/>工作:" + myjson['job']);
}
);
});
});
$.getJson(”Default.php”, {id:”1″, page: “2″ },
function(data){
//注意,這里返回的JSON數(shù)據(jù)格式,不同于xml.
});
第二:頁面全部刷新
- 1 window.location.reload()刷新當(dāng)前頁面.
- 2 parent.location.reload()刷新父親對象(用于框架)
- 3 opener.location.reload()刷新父窗口對象(用于單開窗口)
- 4 top.location.reload()刷新最頂端對象(用于多開窗口)
以上就是本文的詳細(xì)內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
Jquery操作radio,checkbox,select表單操作實現(xiàn)代碼
Jquery操作radio,checkbox,select表單操作實現(xiàn)代碼,需要用jquery操作表單的朋友可以參考下。2010-04-04
jQuery.Form實現(xiàn)Ajax上傳文件同時設(shè)置headers的方法
這篇文章主要介紹了jQuery.Form實現(xiàn)Ajax上傳文件同時設(shè)置headers的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-06-06
jQuery點擊tr實現(xiàn)checkbox選中的方法
jQuery點擊tr實現(xiàn)checkbox選中的方法,需要的朋友可以參考一下2013-03-03
jQuery+jsp下拉框聯(lián)動獲取本地數(shù)據(jù)的方法(附源碼)
這篇文章主要介紹了jQuery+jsp下拉框聯(lián)動獲取本地數(shù)據(jù)的方法,以實例形式較為詳細(xì)的分析了jQuery結(jié)合jsp實現(xiàn)下拉聯(lián)動菜單讀取本地數(shù)據(jù)的相關(guān)技巧,并附帶了完整源碼供讀者下載參考,需要的朋友可以參考下2015-12-12
jQuery實現(xiàn)的導(dǎo)航條點擊后高亮顯示功能示例
這篇文章主要介紹了jQuery實現(xiàn)的導(dǎo)航條點擊后高亮顯示功能,涉及jQuery事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2019-03-03

