欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php ajax 導(dǎo)入

謝彥文1年前7瀏覽0評論

當(dāng)今互聯(lián)網(wǎng)時(shí)代下,大量數(shù)據(jù)的交互變得日益頻繁。因此,網(wǎng)頁需要盡量減少用戶等待時(shí)間。這里介紹一種可以讓小數(shù)據(jù)量的信息快速地在網(wǎng)頁上展示的技術(shù)——php ajax導(dǎo)入。

相信大家都曾經(jīng)遇到這樣的情況:在網(wǎng)頁上點(diǎn)擊某個(gè)按鈕,網(wǎng)頁穩(wěn)穩(wěn)地卡在原地,不停地刷新,讓人抓狂。這是因?yàn)楫?dāng)一個(gè)大文件一次性被傳輸給服務(wù)器時(shí),會使網(wǎng)頁停止響應(yīng)。而php ajax導(dǎo)入技術(shù)可以將文件分為若干小塊,逐步上傳和處理,保證數(shù)據(jù)在更短的響應(yīng)時(shí)間內(nèi)被展示到頁面上。

下面,通過一個(gè)簡單的例子來介紹php ajax導(dǎo)入技術(shù)的實(shí)現(xiàn)過程。假設(shè)有一個(gè)html頁面,里面有一個(gè)上傳文件的按鈕,一個(gè)JQuery實(shí)現(xiàn)的進(jìn)度條控制圖和一個(gè)展示上傳結(jié)果的div塊。先用JQuery實(shí)現(xiàn)文件上傳操作:

$(document).ready(function(){
$('#uploadForm').on('submit', function(e){
e.preventDefault();
var formData = new FormData(this); 
$.ajax({
url: 'upload.php',//上傳地址
type: 'POST',
data: formData,
beforeSend: function () {
$('progress').show(); //顯示進(jìn)度條
$("#rText").empty(); // 清空上傳返回值
},
xhr: function () {
var xhr = $.ajaxSettings.xhr();
if (xhr.upload) {
xhr.upload.addEventListener('progress', function (e) {
var loaded = e.loaded; //已經(jīng)上傳的字節(jié)數(shù)
var total = e.total; //文件總字節(jié)數(shù)
var percent = Math.floor(100 * loaded / total); //上傳百分比
$('progress').val(percent); //設(shè)置進(jìn)度條值
});
}
return xhr;
},
success: function (ret) {
$('progress').hide();
$("#rText").html(ret);
},
contentType: false,
processData: false
});
});
});

其中:

  • formData(this)表示上傳表單中的數(shù)據(jù)以二進(jìn)制流的形式發(fā)送到服務(wù)器端。
  • beforeSend在AJAX請求發(fā)送之前觸發(fā),用于頁面動態(tài)控制。
  • xhr是跨瀏覽器的XMLHttpRequest對象,用以監(jiān)聽上傳進(jìn)度事件,更新進(jìn)度條。
  • contentType和processData都設(shè)置為false,表示jquery不要處理數(shù)據(jù),數(shù)據(jù)仍以二進(jìn)制流形式發(fā)送到服務(wù)器端。

接下來,實(shí)現(xiàn)PHP上傳文件操作的代碼。在upload.php文件中編寫如下代碼:

if(isset($_FILES["file"])){
$name = $_FILES["file"]["name"];
$tmp_name = $_FILES["file"]["tmp_name"];
$error = $_FILES["file"]["error"];
if($error == UPLOAD_ERR_OK){
move_uploaded_file($tmp_name, "$name");
echo "$name uploaded Success!";
}
else{
echo "Upload failed!";
}
}

可以看到,當(dāng)傳輸完成時(shí),通過echo語句在前端頁面上展示文件上傳結(jié)果。

綜上所述,可以看到,在php ajax導(dǎo)入技術(shù)中,前端頁面實(shí)現(xiàn)的效果是上傳進(jìn)度條的實(shí)時(shí)顯示;而后端處理的實(shí)現(xiàn)主要是利用PHP語言處理文件上傳請求。php ajax導(dǎo)入技術(shù)不僅可以提高用于體驗(yàn),而且還能節(jié)約時(shí)間,讓你的網(wǎng)頁更快速地展現(xiàn)數(shù)據(jù),為用戶提供更流暢的使用體驗(yàn)。