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";
}
ScriptModuleをweb.configに登録しました(メソッドが使用可能であることを確認するために、通常のjqueryの$ .ajaxを呼び出すだけでも検証されました)。
任意の提案をいただければ幸いです。ありがとう!