当前位置:嗨网首页>书籍在线阅读

43-解决方案

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

10.10.2 解决方案

找到 <form> 元素,拦截其 submit 事件:

$('form').submit(function(event){
   // 我们想用Ajax提交表单(避免闪烁)
   event.preventDefault();
   //在这里放置验证代码(如果有的话)
   // ...
   //通知服务器端进程使用了Ajax
   $('input[name="usingAJAX"]',this).val( 'true' );
   //保存对表单的引用
   var $this = $(this);
   //从表单元素捕捉URL
   var url = $this.attr('action');
   // 准备要发送的表单数据
   var dataToSend = $this.serialize();
   // 告诉我们服务器端进程信息的回调函数
   var callback = function(dataReceived){
     //隐藏表单(幸好存储了它的引用)
     $this.hide();
     //在例子中,服务器返回一个HTML片段,只要将它附加到DOM中就可以了
     // 期望的结果: <div id="result">Your favorite food is pizza! Thanks for
     // telling us!</div>
     $('body').append(dataReceived)
   };
   //接收数据类型(预计的是HTML片段)
   var typeOfDataToReceive = 'html';
   //现在发送表单等待返回数据
   $.get( url, dataToSend, callback, typeOfDataToReceive )
}); //结束.submit()