DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> 全面解析Ajax綜合應用(全)
全面解析Ajax綜合應用(全)
編輯:AJAX基礎知識     

AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創建交互式網頁應用的網頁開發技術。

AJAX = 異步 JavaScript和XML(標准通用標記語言的子集)。

AJAX 是一種用於創建快速動態網頁的技術。

通過在後台與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

傳統的網頁(不使用 AJAX)如果需要更新內容,必須重載整個網頁頁面。

•"xml": 返回 XML 文檔,可用 jQuery 處理。

•"html": 返回純文本 HTML 信息;包含的 script 標簽會在插入 dom 時執行。

•"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了 "cache" 參數。注意:在遠程請求時(不在同一個域下),所有 POST 請求都將轉為 GET 請求。(因為將使用 DOM 的 script標簽來加載)

•"json": 返回 JSON 數據 。

•"jsonp": JSONP 格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數名,以執行回調函數。

•"text": 返回純文本字符串

一、前台傳遞字符串變量,後台返回字符串變量(非json格式) 

  這裡,為了解決Ajax數據傳遞出現的漢字亂碼,在字符串傳遞之前,使用javascript函數escape()對漢字字符串進行了編碼,並且對返回

的字符串使用unescape()函數進行解碼,使得漢字得以正常顯示。當然了,後台PHP代碼也添加了頭文件,以保證漢字字符串不會出現亂碼。各種後台代碼解決

漢字亂碼問題的方式如下:

PHP:header('Content-Type:text/html;charset=GB2312');

 Javascript代碼:

$(function(){
var my_data="前台變量";
my_data=escape(my_data)+"";//編碼,防止漢字亂碼
$.ajax({
url: "ajax_php.php",
type: "POST",
data:{trans_data:my_data},
//dataType: "json",
error: function(){
alert('Error loading XML document');
},
success: function(data,status){//如果調用php成功
alert(unescape(data));//解碼,顯示漢字
}
});
});

 PHP代碼:

header('Content-Type:text/html; charset=gb2312');//使用gb2312編碼,使中文不會變成亂碼
$backValue=$_POST['trans_data'];
echo $backValue."+後台返回";

二、前台傳遞多個一維數組,後台返回字符串變量(非json格式)

  在非json格式下,後台只能返回字符串,如果想後台返回數組,可以采用json格式,在本文的後面會詳細介紹。

Javascript代碼:

$(function(){
var my_data=new Array();
var my_data1=new Array();
my_data[0]=0;
my_data[1]=1;
my_data[2]=2;
my_data1[0]=10;
my_data1[1]=11;
my_data1[2]=12;
$.ajax({
url: "ajax_php.php",
type: "POST",
data:{trans_data:my_data,trans_data1:my_data1},
//dataType: "json",
error: function(){
alert('Error loading XML document');
},
success: function(data,status){//如果調用php成功
alert(data);
}
});
});

PHP代碼:

//讀取第一個數組
$backValue="trans_data:";
$trans=$_POST['trans_data'];
foreach($trans as $value)
{
$backValue=$backValue." ".$value;
}
//讀取第二個數組
$backValue=$backValue." , trans_data1:";
$trans=$_POST['trans_data1'];
foreach($trans as $value)
{
$backValue=$backValue." ".$value;
}
echo $backValue;

三、前台傳遞多個一維數組,後台返回二維數組(json格式)

Javascript代碼:

$(function(){
var my_data=new Array();
var my_data1=new Array();
my_data[0]=0;
my_data[1]=1;
my_data[2]=2;
my_data1[0]=10;
my_data1[1]=11;
my_data1[2]=12;
$.ajax({
url: "ajax_php.php",
type: "POST",
data:{trans_data:my_data,trans_data1:my_data1},
dataType: "json",
error: function(){
alert('Error loading XML document');
},
success: function(data){//如果調用php成功
}
alert(back);
}
});
});

 PHP代碼:

header('Content-Type:text/html; charset=gb2312');//使用gb2312編碼,使中文不會變成亂碼
$backValue=array();
$backValue[0]=$_POST['trans_data'];
$backValue[1]=$_POST['trans_data1'];
echo json_encode($backValue);

四、前台傳遞一維數組和二維數組,後台返回二維數組(json格式)

Javascript代碼:

$(function(){
var my_data=new Array();
var my_data1=new Array();
var my_data2=new Array();
my_data[0]=0;
my_data[1]=1;
my_data[2]=2;
my_data1[0]=10;
my_data1[1]=11;
my_data1[2]=12;
my_data2[0]=my_data;
my_data2[1]=my_data1;
$.ajax({
url: "ajax_php.php",
type: "POST",
data:{trans_data:my_data,trans_data1:my_data1,trans_data2:my_data2},
dataType: "json",
error: function(){
alert('Error loading XML document');
},
success: function(data){//如果調用php成功
}
alert(back);
}
});
});

PHP代碼:

header('Content-Type:text/html; charset=gb2312');//使用gb2312編碼,使中文不會變成亂碼
$backValue=array();
$backValue=$_POST['trans_data2'];
$backValue[2]=$_POST['trans_data'];
$backValue[3]=$_POST['trans_data1'];
echo json_encode($backValue);

以上內容是小編給大家介紹的全面解析Ajax綜合應用大全,希望能夠幫助到大家!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved