我正在尝试使用jquery.forms插件将表单发送到asp.net页面中的web方法(主要原因是我还需要发送文件)。
但是,我无法使其工作 - 它会一直返回整个页面。
我使用以下客户端代码:
<script type="text/javascript">
var ajaxUploadOptions = {
beforeSubmit: UploadFormValidate, // pre-submit callback
success: FormUploadSuccess, // post-submit callback
error: FormUploadFailure,
url: "Default.aspx/UploadFiles", // override for form's 'action' attribute
type: "POST", // 'get' or 'post', override for form's 'method' attribute
dataType: "json", // 'xml', 'script', or 'json' (expected server response type)
contentType: "application/json; charset=utf-8",
};
function FormUploadSuccess(response, statusText, xhr, jqForm) {
alert(response);
};
function FormUploadFailure(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
$("form[id $= 'form1']").ajaxForm(ajaxUploadOptions);
});
</script>
asp.net方法的代码只是为了返回任何东西:
[WebMethod]
public static string UploadFiles()
{
return "Test";
}
我在web.config中注册了ScriptModule(也验证了调用常规jquery的$ .ajax以确保该方法可用)。
任何建议将不胜感激。 谢谢!
答案 0 :(得分:0)
似乎我没有仔细阅读文档/代码。发现在发送文件时,表单插件使用iframe并定期提交。