Php不识别通过Ajax js发送的formdata

时间:2017-02-15 09:37:47

标签: javascript php ajax form-data

我发送一个带有Ajax请求的Formdata并尝试在我的php文件中读取它。但是在php文件中,当我尝试用我的键读取$ _POST中的内容时,我什么也看不见。我不明白为什么。

我在论坛上做了一些研究,并试图了解为什么我的代码不能按照我的意愿工作。

编辑:

我看到了不同的链接,但我想知道我有没有办法在没有JQuery的情况下做到这一点。

我的ajax电话

function pageSend_DataRun ()
{
    var formElement2 = document.forms.namedItem("data_to_send_general");
    ajaxCallUrl ( "send.php",new FormData(formElement2), pageconfig_acq_generalDataCallback );
}


function ajaxCallUrl ( url, params, callback /*, ... */ )
{

 var xhr = new XMLHttpRequest();
 xhr.callback = callback;
 xhr.arguments = Array.prototype.slice.call( arguments, 3);
 xhr.onload = ajaxSuccess;
 xhr.onerror = ajaxError;
 xhr.open( "POST", url, true );
 xhr.setRequestHeader("Content-Type", "multipart/form-data");
 xhr.send( params );
}

EDIT2:

我在那里找到了解决方案:[Using FormData object, the server receives an empty POST

我将该行删除为" setRequestheader"在我的ajax配置中,它开始工作。

    function ajaxCallUrl ( url, params, callback /*, ... */ )
    {

     var xhr = new XMLHttpRequest();
     xhr.callback = callback;
     xhr.arguments = Array.prototype.slice.call( arguments, 3);
     xhr.onload = ajaxSuccess;
     xhr.onerror = ajaxError;
     xhr.open( "POST", url, true );

     xhr.send( params );
    }

1 个答案:

答案 0 :(得分:0)

我在" EDIT2"中编辑了我的问题的答案。部分。 希望它会有所帮助!