ajax提交form表单方法

news/2024/7/10 23:57:00 标签: jquery

ajax提交form表单方法

由 driventokill 创建,Alma 最后一次修改 2018-04-23 15:46:20

ajax提交form表单,这在日常项目中是经常用到的。前台无论是简单的html、jsp或者使用了easyui框架,只要是提交表单一般都会使用到ajax。

 

ajax提交表单分为两种:

1、无返回结果的,就是把表单数据直接提交给后台,让后台直接处理;

最简单的就是$(“#formid”).submit();直接将form表单提交到后台。

2、返回有结果的,这种情况下,后台不管是执行成功还是失败,最终的信息都需要返回到前台。

第二种是使用最多的一种,因为程序的执行成功与否都需要给用户提示,程序一般也都是多步完成的,执行完插入操作,需要发起流程,这就需要在界面上判断成功与否。ajax本身属于有返回结果的一类,其中的success方法就是处理后台返回结果的。

 

ajax提交表单有返回结果的有两种实现方式:

1、将form表单数据序列化

<span style="font-size:18px;">  $.ajax({  
    type: "POST",  
    url:your-url,  
    data:$('#yourformid').serialize(),  
    async: false,  
    error: function(request) {  
        alert("Connection error");  
    },  
    success: function(data) {  
        //接收后台返回的结果  
    }  
  });</span>  

需要注意的是,使用这种方法的前提是form表单中的项一定要有name属性,后台获取的键值对为key=name值,value=各项值。

注意:无论是input标签还是span标签或者其他标签,一定要有name属性,没有name属性后台是获取不到该项的。

2、通过窗口查找form提交

<span style="font-size:18px;">  // 提交表单  
  var obj = document.getElementById("xx_iframe").contentWindow;  
  obj.$("#yourform").form("submit",{  
    success :function(data){  
        //对结果处理  
    }    
  });</span>

因为在当前界面上弹出对话框,然后在对话框上的按钮触发对话框中表单提交,对话框又是链接的另外的html页面,如此通过$(“#formid”)的方式是找不到对话框中的form的,因此这种情况下只能使用这种方式提交表单。

另外ajax中封装的get,post请求也都属于有返回结果的一类。

 

总的来说,无返回结果的和有返回结果的(将form表单数据序列化+通过窗口实现form提交),form表单都必须要有name属性。


http://www.niftyadmin.cn/n/1087386.html

相关文章

一:ORM关系对象映射(Object Relational Mapping,简称ORM)

狼来的日子里&#xff01;奋发博取10)django-ORM(创建&#xff0c;字段类型&#xff0c;字段参数) 一&#xff1a;ORM关系对象映射&#xff08;Object Relational Mapping&#xff0c;简称ORM&#xff09; ORM分两种&#xff1a; DB first 先在数据库中创建数据库表等  Code …

4种常用的Ajax请求方式

在jQuery中&#xff0c;Ajax常见的请求方式主要有一下4种&#xff1a; 1、$.ajax()返回其创建的 XMLHttpRequest 对象。 $.ajax() 只有一个参数&#xff1a;参数 key/value 对象&#xff0c;包含各配置及回调函数信息。 如果你指定了dataType选项&#xff0c;那么需要保证服务…

java之多态也

在Cycle中添加wheels()方法&#xff0c;它将返回轮子的数量。修改ride()方法&#xff0c;让它调用wheels()方法&#xff0c;并验证多态起作用了 package com.experice; public class Cycle { int num; public void ride(int n) { //System.out.println("…

C# 委托 (一)—— 委托、 泛型委托与Lambda表达式

C# 委托 &#xff08;一&#xff09;—— 委托、 泛型委托与Lambda表达式 2018年08月19日 20:46:47 wnvalentin 阅读数 2992 版权声明&#xff1a;此文乃博主之原创。鄙人才疏&#xff0c;望大侠斧正。此文可转载&#xff0c;然需明根以溯源。 https://blog.csdn.net/wnvalenti…

MySQL excel导入

说明&#xff1a; 1 因在测试发现如果用SQLyog导入数据需要下载excel驱动&#xff0c;因而选择Navicat 2 之前选择excel文件为xlsx 发现Navicat识别不了&#xff0c;因而转存为xls文件&#xff0c;测试OK 1 先将准备好的excel文件确认以下信息 建议列名采用英文定义 2 打开N…

AutoDispose代替RxLifecycle优雅的解决RxJava内存泄漏问题

使用过Rxjava的小伙伴都知道&#xff0c;在使用RxJava时如果处理不当&#xff0c;很可能会产生内存泄漏的问题。 我们使用rxjava最大的原因是响应式编程使我们的异步操作代码变得很优雅&#xff0c;在Android中&#xff0c;也使线程切换变得很简单&#xff0c;而产生内存泄漏的…

java访问权限控制(具体实现的隐藏)

一、private只能在本类中访问 二、protected只能在包中访问&#xff08;继承访问权限&#xff09; 三、public没有限制&#xff0c;可以跨包 四、类的访问权限&#xff1a; 1. 包访问权限或public。 2.若不希望任何人对该类拥有访问权限&#xff0c;可以把所有的构造器都指定…

java之final修饰的参数和覆盖private final方法

package com.finnal1; /** * 被final修饰的参数不可改变 * author Administrator * */ class Gizmo{ public void spin() { System.out.println("我是可修改的参数"); } } public class FinalArgs { void with(final Gizmo g) { //g…