2014-11-14 3 views
0

내가 IFrame을 &을 사용하여 파일을 업로드 할을 jquery.iframe-transport.js를 사용하고 게시 한 후 제대로 반영하지 않습니다 아약스 파일이 제대로 업로드되고 서버가 적절한으로 다시 응답 (Internet Explorer를 사용하여) 응답마다. 그러나 콜백 함수 "complete"의 응답 "data"에는 항상 이전/이전 응답이 포함됩니다. 캐시를 지우고 새 브라우저를 사용하는 것조차 도움이되지 않습니다. 어떤 생각이 일어나야 만할까요?서버 응답은 아약스는

$(function() { 
    //alert("Loading"); 

    getLDAPUsers(); 
    //getDummyUsers(); 

    //This will submit the file content using Ajax via Iframe 
    $("#myForm").submit(function() { 
     alert("Submitting Ajax"); 
     $.ajax(this.action, { 
      data: $(":text", this).serializeArray(), 
      files: $(":file", this), 
      //iframe: true, 
      processData:false 
     }).complete(function(data) { 
     debugger; 
      alert("Response from server ::: "+data.responseText); 
     }); 
    }); 
+0

같습니다 ] (http://stackoverflow.com/questions/939386/immediate-function-invocation-syntax). – b4hand

답변

0

난 당신이 예를 들어, "성공"대신 "오류"를 사용하는 것이 좋습니다 것입니다 : 당신이 당신의 [바로 함수 호출에 후행`()`이 누락처럼

$(function() { 
    $("#myForm").on('submit',function(event) { 
    event.preventDefault(); 

    //alert("Loading"); 

    getLDAPUsers(); 
    //getDummyUsers(); 

    var request = $.ajax({ 
     type: 'POST', 
     url: $(this).attr('action'), 
     data: $(":text", this).serializeArray(), 
     files: $(":file", this), 
     //iframe: true, 
     ifModified: true, 
     cache: false, 
     success: function (response, textStatus, xhr) { 
     alert("Response from server ::: "+response); 
     }, 
     error: function (xhr, textStatus, errorThrown) { 
     alert('ERROR'); 
     } 
    }); 
    }); 
})(); 
+0

... 그리고 나는 당신의 $ ('# myForm')을 발견했다.) submit (function() {}); 정상 양식 제출을 중단하지 않았습니다. $ ('# myForm'). .. ... }), }); – Kirbo

+0

여러분, 고맙겠 습니다만 두 솔루션 모두 작동하지 않는 것 같습니다. 나는 이것을 언급하고있다. - http://cmlenz.github.io/jquery-iframe-transport/ – Aditi

+0

이제 다시 전화를받을 수있다. 그러나, 나는 Ajax 포스트를 할 때 2 개의 HTTP 요청이 보내지는 것을 보았다. 하나는 GET이고, 어떤 파일 정보도 포함하지 않고, 두 번째는 파일 내용이 담긴 실제 요청 인 POST이다. 콜백 "complete"는 GET 호출에 대한 응답을 받는다. 분명히 내가 원하는 것은 아니다. GET 요청이 왜 전송되는지 파악할 수 없습니다 !! 어떤 제안? 그냥 추가하려면 IE9를 사용하고 있습니다. – Aditi