无法将数据附加到Js FormData

时间:2016-10-13 05:46:58

标签: javascript ajax file

首先抱歉我的英语我试图发送ajax请求。我正在使用FormData。但是当我追加数据时,然后对其格式化的console.log说没有属性。如果我没有错,FormData构造函数接受form作为参数。在这里我使用了那个参数,但是当我使用formdata.append(key,value)时,这也不起作用 这是我的代码

(没有Jquery使用$ .ajax是我自己编写的库)。

onValidated: function(form){
    var formData = new FormData(form);

    console.log(formData);

    $.ajax({
        url: '/comment/send',
        type: 'POST',
        contentType: 'application/json',
        dataContent: formData,

        start: function()
        {
            $preloader.show();
        },

        success: function(response)
        {
            $preloader.hide();
        },

        error: function(response)
        {
            return false;
        }
    });
}

这是我的$ .ajax功能

window.$.ajax = function(settings)
{
    var request;

    if (window.XMLHttpRequest) 
    {
        request = new XMLHttpRequest();
    }
    else{
        request = new ActiveXObject("Microsoft.XMLHTTP")
    }

    request.open(settings.type, settings.url, true);
    request.setRequestHeader('Content-Type', settings.contentType);

    request.onload = function() {
      if (request.status >= 200 && request.status < 400) {
        settings.success(JSON.parse(request.responseText));
      }
    };

    request.onerror = function() {
      settings.error();
    }

    console.log(settings.dataContent);

    // Used for preloader or something else
    settings.start();


    if (settings.type == 'POST') 
    {
        request.send(settings.dataContent); 
    }
    else if(settings.type == 'GET')
    {
        request.send();
    }
    else
    {
        return false;
    }
}       

0 个答案:

没有答案