0

我正在尝试使用 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 以确保该方法可用)。

任何建议,将不胜感激。谢谢!

4

1 回答 1

0

看来我没有足够仔细地阅读文档/代码。发现发送文件时,表单插件使用 iframe 和常规提交。

于 2011-01-18T11:33:31.227 回答