最近研究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扩展功能使用也很灵活。