[JQuery]JQuery异步提交Form

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

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏