最近研究jQuery,今天搞清楚了AJax要怎麼實現,使用方法意外的簡單。有興趣的可以看我上次提到的手冊,我這裡演示一個簡單的保存
表單的例子。
提交表單的方法:
$.post(’jQuery.PHP?request=AJax’,$.getForms(’form1′),function (msg) {
alert(msg)
});
僅使用這麼一句話就可以實現
表單數據的靜態提交了。 第一個參數是服務端的URL,第二個參數是表單的POST數據,第三個參數是執行成功後調用的方法.
$.getForms這個方法是自定義的,就是把表單中所有輸入框值變成一
個GET參數字符串形式 .這個方法是我從xAJax中參考修改來的,本來jquery.com上也有這樣的插件但是當有name=aa[]這種形式的 input時會出錯,只能自己弄一個了。方法在Forms.JS文件中,這個文件
中還有個$F函數從jquery.com上得到的,是用jQuery實現 了prototype.JS中的同樣功能,就是取表單元素的值。
服務端就沒什麼特別的:
if ($_GET['request']==’AJax’)
{
var_export($_POST);exit;
}
我們輸出提交的信息作為測試,自己的應用自己處理就是了。
AJax始終用utf8編碼傳輸的所以,如果你的項目不是utf8必須進行編碼轉換:
if
($_GET['request']==’AJax’) {
$_POST = charsetIconv($_POST);
}
function charsetIconv($vars) {
if (is_array($vars)) {
$result = array();
foreach ($vars as
$key => $value) {
$result[$key] = charsetIconv($value);
}
} else {
$result = iconv(’utf-8′,’gbk’, $vars);
}
return $result;
}
這裡是我在服務端編碼
的處理方式。
原來都在使用xAJax現在准備完成使用 jQuery來替代,不僅有非常的JS擴展功能使用也很靈活。