私の問題を助けてくれることを願っています。FormData AjaxがPHPでデータを投稿していない
問題は、私はFormData
に私のdata
置くが、私はecho
を使用してPHPファイルでそれらを呼んでいるときは値とデータが既存のない存在であるということであると私にerror
います
undefined variable
しかし、var_dump()
またはprint_r()
を使用している場合は、values
がすべて表示されます。また、画像のファイルをとすると、それは私にも送信されます。error
。 html
でここ
:ここ
<form id="form" action="myurl.php" method="post" enctype="multipart/form-data" onsubmit="return false">
<input type="file" name="image" accept="image/*"/>
<input type="text" name="description"/>
<input type="submit" />
</form>
はajax
で私のコードです:私のmyurl.php
のphpファイルで今
function getName(key)
{
key = document.getElementsByName(key)[0];
return key;
}
function getId(key)
{
key = document.getElementById(key);
return key;
}
var url = getId('form').getAttribute('action');
var datas = new FormData();
var xhr = new XMLHttpRequest();
var image = getName('image').value.trim();
var description = getName('description').value.trim();
datas.append('file_image', image.files[0]);
datas.append('description', description);
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(datas);
xhr.onreadystatechange = function()
{
var OK = 4;
var DONE = 200;
if(xhr.readyState == 4 && xhr.status == DONE)
{
alert(xhr.responseText);
}
}
var_dump($_POST);
var_dump($_FILES);
私たちが実際に第三者を使用していませんscript
はjQuery
です。ネイティブjavascript
の言語を実践しています。
ありがとうございます。
チェック、https://plainjs.com/javascript/ajax/send-ajax-get-and-postで
フォームの名前を付け
name="upload-image
-requests-47/ –
HTMLファイル入力、 "datas.append(" file_image "、fileInputElement.files [0]);" –
@BhupeshKushwaha私はすでにそれをしましたが、私はvar_dumpファイルを使用しているときには値はありませんでしたが、ポストには画像が一時的に存在する場所の値が1つありました。 –