2015-03-13 101 views
0

我正在使用formdataXMLHttpRequest使用ajax提交我的表單。現在除IE 11以外的其他瀏覽器都可以正常工作。注意我正在使用這個ajax請求上傳文件。Formdata和XMLhttpRequest未在IE上工作11

我的代碼如下

var form = document.getElementById('chatMessageForm'); 
var formData = new FormData(form); 
var xhr = new XMLHttpRequest(); 
// Add any event handlers here... 
xhr.open('POST', form.getAttribute('action'), true); 
xhr.responseType = "json"; 
xhr.send(formData); 
xhr.onload = function (e) { 
    var new_message_response = xhr.response; // not responseText 
    console.log(new_message_response); 
    if (new_message_response.conversationStatus) { 
     alert('This Conversation is disabled by Other User'); 
     jQuery('.conversationadd .messagebox #msgbox').attr('disabled',true); 
    } else { 
     var downloadLink = ''; 
     if (new_message_response.attachment != '' && new_message_response.attachment != null) { 
      downloadLink = '<a href=" ' + new_message_response.attachment_file_path + '" download="' + new_message_response.attachment + '" class="attachment">Download Attachment</a>'; 
     } 
     jQuery('.chatmessageinner').append('<div class="singlemsg right" id=" ' + new_message_response.id + ' ">' 
      + '<p> ' + msg + ' </p>' 
      + '<div class="messagefooter">' 
      + '<span class="time">' + new_message_response.time + '</span>' 
      + downloadLink 
      + '</div>' 
      + '</div>'); 
     var objDiv = document.getElementsByClassName("chatmessageinner")["0"]; 
     objDiv.scrollTop = objDiv.scrollHeight; 
    } 
} 
+0

歡迎堆棧溢出。我已經用正確的縮進編輯了代碼,並從問題中刪除了一些不必要的文本。您可以通過指出哪些工作不正常以及您在瀏覽器中獲得的錯誤消息來進一步改進。 – 2015-03-13 10:26:40

+0

@StephenMuecke謝謝我欣賞這一點 – 2015-03-13 10:50:56

回答

0

我使用jQuery.ajax,而不是現在的XMLHttpRequest一切正常,光滑如絲:)現在我的代碼看起來是這樣的:

var form = document.getElementById('chatMessageForm'); 
      var formData = new FormData(form); 
jQuery.ajax({ 
       url: form.getAttribute('action'), 
       type: 'POST', 
       data: formData, 
       processData: false, 
       contentType: false, 
       success: function (data) { 
        var new_message_response = data; 
        if (new_message_response.conversationStatus) 
        { 
         alert('This Conversation is disabled by Other User'); 
         jQuery('.conversationadd .messagebox #msgbox').attr('disabled', true); 
        } 
        else 
        { 
         var downloadLink = ''; 
         if (new_message_response.attachment != '' && new_message_response.attachment != null) 
         { 
          downloadLink = '<a href=" ' + new_message_response.attachment_file_path + '" download="' + new_message_response.attachment + '" class="attachment">Download Attachment</a>'; 
         } 
         jQuery('.chatmessageinner').append('<div class="singlemsg right" id=" ' + new_message_response.id + ' ">' 
           + '<p> ' + msg + ' </p>' 
           + '<div class="messagefooter">' 
           + '<span class="time">' + new_message_response.time + '</span>' 
           + downloadLink 
           + '</div>' 
           + '</div>'); 
         var objDiv = document.getElementsByClassName("chatmessageinner")["0"]; 
         objDiv.scrollTop = objDiv.scrollHeight; 
        } 
       }, 
       error: function (data) { 
        alert("error"); 
       } 
      }); 
相關問題