日期:2014-05-16  浏览次数:20554 次

JQuery Ajax提交表单数据时的问题

代码如下:

function toSaveOutList(){
 	 $.ajax({
					url: "InOrderAction!saveOutPickInOrder.action",   //提交的action
	data : $("#myformId").serialize(),// 从表单中获取数据	dataType: "json", //返回json格式的数据			type: "POST",                   // 设置请求类型为"POST",默认为"GET"
	error: function(request) {      // 设置表单提交出错
				      		jAlert('warning', "提交出错,请稍候再试", '提示');
				      	},
				      	success: function(json) {	// 设置提交完成使用方法
								if(json[0].result=='success' && json[0].errorMessage==null){
									jAlert('warning', '提交成功', '提示', function(r){
										if(r)
											location.href="InOrderAction!toOutPickInOrder.action";
									});
								}else{
									jAlert('warning', json[0].errorMessage, '提示');
								}
				      	}
			  	});
 	   }

?

表单中如果提交的数据量比较大的情况,在IE浏览器下会提示“未知名称”数据提交不了,

一开始以为是加了data : $("#myformId").serialize(),这个的问题,检查了表单中提交的文本都是否有name属性;

后来在FireFox下不再报错,但IE下仍报“未知名称”的问题,于是怀疑是数据量过大,应该采用POST方式提交,所以在下面加上type: "POST", 这句就可以了。。

所以在做JQUERY ajax提交表单数据的时候一定要注意:

1.表单的文本框等要有name属性,并与后台接收的对应

2.注意提交的方式