我正在尝试使用 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 以确保该方法可用)。
任何建议,将不胜感激。谢谢!