1

jquery form을 사용하여 페이지를 새로 고침하지 않고 이미지를 업로드하고 있습니다. 다음은 HTML 마크 업입니다.jquery 양식을 사용하여 자동 파일 업로드 제출 IE에서 액세스 거부 오류가 발생했습니다

<a href="javascript:void(0);" onclick="UpdateImage();"> 
<img src="@_fullImgPath" name="img-uploader" alt="" title="" /></a> 

    @using (Html.BeginForm("UpdateImage", "Profile", FormMethod.Post, new { id = "img-file-upload-form", @class = "form", autocomplete = "off", enctype = "multipart/form-data" })) 
    { 
     @Html.Hidden("UpdateImageId") 
     <input type="file" name="file" id="file" /> 
    } 
    <script language="javascript" type="text/javascript"> 
    $(function() { 
     $("#img-file-upload-form").ajaxForm({ 
      iframe: true, 
      dataType: "json", 
      beforeSubmit: function() { 
      }, 
      success: function (result) { 
       alert('done'); 
      }, 
      error: function (xhr, textStatus, errorThrown) { 
       alert('error'); 
      } 
     }); 

     $("#file").change(function() { 
      $("#img-file-upload-form").submit(); 
     }); 
    }); 

    function UpdateImage(id) { 
      $("input[id=file]").click(); 
     } 

    </script> 

Firefox 및 Chrome에서는 잘 작동하지만 IE 8 및 9에서는 액세스 거부 오류가 발생합니다. 이 문제가 수정 되었습니까? 아니면 페이지를 새로 고치지 않고 이미지를 업로드 할 수 있습니까?

답변

0

양식 제출시 이미지를 저장하려고합니다. 양식을 제출하면 해당 마크 업이 MVC-3 면도기으로 표시되는 것처럼 웹 페이지에 대한 포스트 백이 수행됩니다.

오히려 아약스 요청에 다음을 사용하는 것이 좋습니다.

var submitForm=new Form(); 

당신이, 내가 ajaxForm을 사용하고 페이지 새로 고침을 피하기 위해 링크
How to create a form dynamically using JavaScript?

+0

다음을 참조 할 수 있습니다 동적 폼 태그를 만들기위한 폼 컨트롤

$.ajax({ url:'webpage or your method in controller', type:'POST/GET', data:submitForm, dataType:'', ContentType:'', beforeSend:function(){}, complete:function(){}, ..... }); 

에 이미지를 추가합니다. Ajax 구현을 처리 할 것이다. IE에서 사용하는 코드는 제외하고 작동합니다. – Prasad

관련 문제