jQuery頁面刷新(局部、全部)問題分析
本文實例分兩部分對jquery刷新問題進行介紹,第一部分介紹了呢頁面局部刷新;第二部分介紹了頁面全部刷新
第一:頁面局部刷新
jQuery對Ajax操作進行了封裝,在jQuery中$.ajax()方法屬于最底層的方法,第2層是laod()、$.get()和$.post()方法,第3層是$.getScript()和$.getJSON()方法。
重點分析load()方法通常用來從Web服務器上獲取靜態(tài)的數據文件.要傳遞一些參數給服務器中的頁面,那么可以使用$.get()或者$.post()方法$.ajax方法
load() Code //無參數傳遞,則是GET方式 $("#resText").load("test.php",function(){ //...... }); //有參數傳遞,則是POST方式 $("#resText").load("test.php",{name:"xht555",age:"24"},function(){ //...... });
簡單說一下 post 與get 區(qū)別:
get:用get方式可傳送簡單數據(即:瀏覽器將各個表單字段元素及其數據按照URL參數的格式附加在url后面),但大小一般限制在1KB下;被客戶端的瀏覽器緩存起來,不安全。
post:覽器把各表單字段元素及其數據作為HTTP消息的實體內容發(fā)送給Web服務器,而不是作為URL地址的參數進行傳遞,
總結:
一:GET方式傳送數據量小,處理效率高,安全性低,會被緩存,而POST反之?!?/strong>
二: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 //$.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()刷新最頂端對象(用于多開窗口)
以上就是本文的詳細內容,希望對大家的學習有所幫助。
相關文章
JQuery使用屬性addClass、removeClass和toggleClass實現(xiàn)增加和刪除類操作示例
這篇文章主要介紹了JQuery使用屬性addClass、removeClass和toggleClass實現(xiàn)增加和刪除類操作,涉及jquery事件響應及頁面元素屬性動態(tài)操作相關使用技巧,需要的朋友可以參考下2019-11-11JQuery獲取樣式中的background-color顏色值的問題
用JQuery獲取樣式中的background-color的值時發(fā)現(xiàn)在獲取到的顏色值在IE中與Chrome、Firefox顯示的格式不一樣,經搜索找到了下段代碼可解決此問題,感興趣的朋友可以參考下2013-08-08jquery實現(xiàn)異步文件上傳ajaxfileupload.js
這篇文章主要為大家詳細介紹了jquery實現(xiàn)異步文件上傳ajaxfileupload.js,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-10-10