我发送一个带有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 );
}
答案 0 :(得分:0)
我在" EDIT2"中编辑了我的问题的答案。部分。 希望它会有所帮助!