jQuery - ajax无刷新保存例子

上一篇 / 下一篇  2007-07-26 19:15:15

查看( 6964 ) / 评论( 22 )
最近研究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下载

TAG: jQuery ajax

LampHexi thankwsx 发布于2007-07-26 19:41:30
呵呵,有人从jQuery转xajax,有人反过来。
总之啦jQ使用简单,方便,易懂。
能做自己的扩展最好。
还有我上次那个PSP表单就是改的jQ部分文件。
AJAX的东西大家都封装地类似,
前台方面jQ表现比较出色,最看中的就是他的选择符功能实在太强大了。也符合CSS XPATH等语法。。
大家应该重点注意这方面。
wrs_1983的个人空间 wrs_1983 发布于2007-07-26 19:46:23
触类旁通的境界了么?
luzhou(浅玉)的空间 luzhou 发布于2007-07-26 19:54:19
:)
fengyun的个人空间 fengyun 发布于2007-07-26 20:16:23
不错
呵呵
辉老大的地盘 leehui1983 发布于2007-07-26 20:26:22
顶起
志凡的个人空间 dzjzmj 发布于2007-07-26 20:28:14
xajax其实更麻烦,扩展性不好,不灵活
林木森森的个人空间 林木森森 发布于2007-07-26 20:53:13
最好还是用UTF-8,使用iconv函数,对于一些特殊字符还是会乱码。我就遇到这头痛的问题<gb2312>,不知道有没有什么好的解决方法。:(

jquery有很多插件,提交表单用jquery form Plugin http://www.malsup.com/jquery/form/
PHPChina 我的成长之路 寶貝豬豬 发布于2007-07-26 20:54:47
学习
gleon的个人空间 gleon 发布于2007-07-26 21:50:56
Jquery 好像有点大哦.
志凡的个人空间 dzjzmj 发布于2007-07-26 21:58:34
$result = iconv(’utf-8′,’gbk’, $vars);
看我作的是gbk就不会了,以前用gb2312也碰到了,我个人是主张用utf8的,但为了和其它系统统一需要用gb2312

jquery压缩的20多K,不大,现在带宽也还行了
林木森森的个人空间 林木森森 发布于2007-07-27 09:40:59
那你试试这个人名 “潘恒垚” ,看最后一个字是否能正常显示。
iconv(’utf-8′,’gbk’, $vars);对最后一个字(垚)不显示。
wwd发布于2007-07-27 09:50:45

QUOTE:

原帖由 林木森森 于 2007-7-27 09:40 发表
那你试试这个人名 “潘恒垚” ,看最后一个字是否能正常显示。
iconv(’utf-8′,’gbk’, $vars);对最后一个字(垚)不显示。
我试了一下。不论是从utf-8转到gbk,还是从gbk转到utf-8,都正常。
我的php版本是5.2.3,你的呢?
林木森森的个人空间 林木森森 发布于2007-07-27 11:17:44
我的 PHP Information Version 5.1.6。


{74A14A05-7D4D-4CE7-A5B2-A84EAB15B9C7}.jpg


志凡的个人空间 dzjzmj 发布于2007-07-27 13:03:20
也许和版本真的有关系
luzhou(浅玉)的空间 luzhou 发布于2007-07-27 13:47:02
:)
志凡的个人空间 dzjzmj 发布于2007-07-27 20:35:00
LS灌水嫌疑
星野天河发布于2007-07-29 18:11:01
最近我们也要开始用jquery了
zwws的个人空间 zwws 发布于2007-07-29 19:52:54
最近在做班级的成绩查询系统.用了xajax,摸索了一下,xajax的灵活度真的不高.但是简单应用还是比较容易上收的.

对于编码的处理,还没深入接触到.

还是很羡慕 星野天河 工作中进步.
luzhou(浅玉)的空间 luzhou 发布于2007-07-29 20:16:49
还有新的内容吗?
:)
naodai的个人空间 naodai 发布于2007-08-02 14:39:29
studying.....
我来说两句

(可选)

Open Toolbar