无法使用jquery ajax

时间:2016-02-24 17:36:35

标签: jquery ajax asp.net-mvc file-upload

我正在尝试上传文件而无需刷新页面或提交表单,但我没有运气,我收到错误405(方法不允许)。我的基础平台是.net MVC 5

这是我尝试的一些事情

 $(document).on("click", "#upload", function() {
            var file_data = $("#avatar").prop("files")[0];   // Getting the properties of file from file field
            var form_data = new FormData();                  // Creating object of FormData class
            form_data.append("file", file_data)              // Appending parameter named file with properties of file_field to form_data
            //form_data.append("user_id", 123)                 // Adding extra parameters to form_data
            $.ajax({
                url: "/DriverImages",
                dataType: 'script',
                cache: false,
                contentType: false,
                processData: false,
                data: form_data,                         // Setting the data attribute of ajax with file_data
                type: 'post'
            })
        })



<input id="avatar" type="file" name="avatar" />
                    <button id="upload" value="Upload" />

我尝试按照解决方案

jQuery POST, Error 405 Method not allowed

I tried following change in web.config

<configuation>
    <system.webServer>
    <handlers>
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
    <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
    </system.webServer>
</configuration>

并尝试在web.config中更改此内容

 <configuration>
<system.webServer>
   <directoryBrowse enabled="true" />
    </system.webServer>
</configuration>

0 个答案:

没有答案