ajax提交form表单调用ashx
时间: 2023-10-01 19:01:07 浏览: 136
当使用Ajax提交form表单调用ashx时,需要先监听表单的提交事件,并阻止表单的默认提交行为。使用jQuery时,可以通过以下代码实现:
```javascript
$(document).ready(function(){
$("form").submit(function(e){
e.preventDefault(); // 阻止表单默认提交行为
var form_data = new FormData(this); // 创建一个FormData对象,将表单数据包装起来
$.ajax({
url: "example.ashx",
method: "POST",
data: form_data,
processData: false, // 不处理数据
contentType: false, // 不设置Content-Type请求头
success: function(response){
// 处理成功后的回调函数
},
error: function(xhr, status, error){
// 处理错误后的回调函数
}
});
});
});
```
在以上代码中,我们通过监听表单的提交事件,在触发时阻止表单的默认提交行为。然后创建一个FormData对象,将表单数据包装起来。接着使用Ajax来发送POST请求到ashx文件,传递包装后的表单数据。设置processData为false和contentType为false是为了告诉jQuery不要处理数据和设置Content-Type请求头,让浏览器自动设置。最后,根据需要可以设置成功和失败的回调函数来处理返回的结果或错误信息。
这样,通过ajax提交form表单调用ashx就可以实现无刷新提交,并在服务端处理数据了。
阅读全文