GVKun编程网logo

使用ajaxSubmit问题导致无法上传文件(ajax无法发送请求)

9

在本文中,我们将详细介绍使用ajaxSubmit问题导致无法上传文件的各个方面,并为您提供关于ajax无法发送请求的相关解答,同时,我们也将为您带来关于ajaxForm、ajaxSubmit区别、aj

在本文中,我们将详细介绍使用ajaxSubmit问题导致无法上传文件的各个方面,并为您提供关于ajax无法发送请求的相关解答,同时,我们也将为您带来关于ajaxForm 、ajaxSubmit 区别、ajaxForm 与ajaxSubmit、ajaxForm,ajaxSubmit、ajaxForm插件的ajaxSubmit缓存问题的有用知识。

本文目录一览:

使用ajaxSubmit问题导致无法上传文件(ajax无法发送请求)

使用ajaxSubmit问题导致无法上传文件(ajax无法发送请求)

我有个form,主要用来上传文件用,使用传统的post,文件可以上传上传,但是我不想转页面,所以使用了ajax的ajaxSubmit,可惜失败了,各位大虾能否指点一二。

以下是显示代码

<tablecellspacing="0"> 
			<form id = "submitForm" enctype="multipart/form-data" action="cgi-bin/post.cgi",method="post" onsubmit="return operate();">
				<tr> 
   					<td><li/></td> 
    				<td></td> 
    				<td><input type="file" name = "upfile" value="浏览文件"></td> 
   					<td></td> 
   					<td></td> 
				</tr> 
				<tr> 
   					<td><li/></td> 
   					<td></td> 
   					<td><input type="submit" name ="upgrade" value="确定">
</td> 
   					<td></td> 
   					<td>
   					</td> 
				</tr> 
   				
			</tbody>
			</form>
			</table>
以下是js代码,尝试了2种方法,都不行。
function operate(){
	$("#submitForm").ajaxSubmit({  
                    type: 'post',dataType:"xml",url: "cgi-bin/post.cgi",success: function(data){  
                        alert( "success");  
                        alert(data);
                          
                    },error: function(XmlHttpRequest,textStatus,errorThrown){  
                        alert( "error");  
                    }  
                });  
                
                return false;
}

function operate2() {
    // jquery 表单提交
    $("#submitForm").ajaxSubmit(function(message) {
          // 对于表单提交成功后处理,message为提交页面operation.htm的返回内容
          alert(message.toString());
       });
     
    return false; // 必须返回false,否则表单会自己再做一次提交操作,并且页面跳转
}



更新,已经解决了。

已经搞定,客户端代码没问题,是服务器代码的问题,因为使用的是ajax方式发送的post,服务端不应该去判断submit有没有按下成功,事实上是失败的,所以应该屏蔽,即if(cgiFormSubmitClicked("upgrade") == cgiFormSuccess)是无需判断的。

ajaxForm 、ajaxSubmit 区别

ajaxForm 、ajaxSubmit 区别

ajaxForm
ajaxForm()不能提交表单。在document的ready函数中,使用ajaxForm来为AJAX提交表单进行准备。提交动作必须由submit开始
ajaxForm()适用于以表单提交方式处理ajax技术(需要提供表单的action、id、 method,最好在表单中提供submit按钮)它大大简化了使用ajax技术提交表单时的数据传递问题,使用ajaxForm()你不需要逐个的以 JavaScript的方式获取每个表单属性的值,并且也不需要在请求路径后面通过url重写的方式传递数据。ajaxForm()会自动收集当前表单中每个属性的值,然后将其以表单提交的方式提交到目标url。这种方式提交数据较安全,并且使用起来更简单,不必写过多冗余的JavaScript代码
ajaxSubmit
ajaxSubmit()马上由AJAX来提交表单。你可以在任何情况下进行该项提交。

ajaxSubmit()适用于以事件的机制以ajax提交form表单(超链接、图片的click事件),该方法作用与ajaxForm()类似,但它更为灵活,因为他依赖于事件机制,只要有事件存在就能使用该方法。你只需指定该form的action属性即可,不需要提供submit按钮

ajaxForm 与ajaxSubmit

ajaxForm 与ajaxSubmit

  • ajaxSubmit 和ajaxForm区别
ajaxForm
ajaxForm()不能提交表单。在document的ready函数中,使用ajaxForm来为AJAX提交表单进行准备。提交动作必须由submit开始
ajaxForm()适用于以表单提交方式处理ajax技术(需要提供表单的action、id、 method,最好在表单中提供submit按钮)它大大简化了使用ajax技术提交表单时的数据传递问题,使用ajaxForm()你不需要逐个的以 JavaScript的方式获取每个表单属性的值,并且也不需要在请求路径后面通过url重写的方式传递数据。ajaxForm()会自动收集当前表单中每个属性的值,然后将其以表单提交的方式提交到目标url。这种方式提交数据较安全,并且使用起来更简单,不必写过多冗余的JavaScript代码
ajaxSubmit
ajaxSubmit() 马上由AJAX来提交表单。你可以在任何情况下进行该项提交。

ajaxSubmit()适用于以事件的机制以ajax提交form表单(超链接、图片的click事件),该方法作用与ajaxForm()类似,但它更为灵活,因为他依赖于事件机制,只要有事件存在就能使用该方法。你只需指定该form的action属性即可,不需要提供submit按钮。

  • 示例代码
 1     <!--HTML-->
 2     <form id="form1" name="form1">
 3         input ="userName" value="姓名" />
 4         ="age"="30"  5         type="submit"="submit"  6     </form 7     ="myButton" type="button"="提交"  8     javascript 9     script ="text/javascript"10 
11         var myData = {
12             "CnName: 周佳良,13             EnName:zhoujl"
14         };
15         $(function () {
16              ajaxFormOption 17                 type: post//提交方式  
18                 dataType: json数据类型  
19                 data: myData,245)">自定义数据参数,视情况添加
20                 url: TestHandler.ashx?type=ajaxForm请求url  
21                 success:  (data) { 提交成功的回调函数  
22                     document.write(success);
23                 }
24             };
25 
26             form中有submit按钮——方式1
27             $(#form1).ajaxForm(ajaxFormOption);
28 
29             form中有submit按钮——方式2
30 ).submit(31                 $(this).ajaxSubmit(ajaxFormOption);
32                 return false;
33             });
34 
35             不需要submit按钮,可以是任何元素的click事件
36 #myButton).click(37                 $(38                 39 40 
41         });
42     script>

ajaxForm,ajaxSubmit

ajaxForm,ajaxSubmit

最近想用ajax来submit,结果用ajaxForm。 用了半天没提交。 最后发现应该用ajaxSubmit来提交。

ajaxForm插件的ajaxSubmit缓存问题

ajaxForm插件的ajaxSubmit缓存问题

症状:第一次提交可以,以后均告失败;

尝试一:每次提交变更form的action地址,结果仍然失败;

尝试二:使用ajaxForm的option设置,成功,具体代码如下:

        var formUrl ="${webPath }/edit.action?random=" +new Date().getTime();
			
	var options = {                   
		     url : formUrl,type : "post",dataType:"json",success: function (resultObj,status) {
     			    	if(resultObj.ret == 0){
     			    		alert('succ');
     			    		window.location.href = '${webPath}/list.action';
     			    	}else{
     			    		alert(resultObj.desc);
     			    	}
     			    },error: function (data,status,e) {
     			    	alert('修改失败');
     			    }
			 }
         	$("#editForm").ajaxSubmit(options);

关于使用ajaxSubmit问题导致无法上传文件ajax无法发送请求的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于ajaxForm 、ajaxSubmit 区别、ajaxForm 与ajaxSubmit、ajaxForm,ajaxSubmit、ajaxForm插件的ajaxSubmit缓存问题的相关信息,请在本站寻找。

本文标签: