私はいくつかの写真と一緒にデータベースに製品を追加しようとしています。サーバー側はPHPです。AJAXを介してすべてを非同期にアップロードしたい。製品ID()の後のディレクトリ名に写真を保存したいthumbs/productID
。
最初の部分は、製品情報を送信し、そのIDを取得することです。ただし、ファイルをアップロードするときに、ファイルと文字列の両方をアップロードして、保存するフォルダーをスクリプトに通知することはできません。ただし、送信できるのはファイルのみです。
ファイルとテキストの両方を同時に送信する方法はありますか?どんな助けでもいただければ幸いです。
$('#register-product').on('submit', function ( evt ) {
evt.preventDefault();
var i = 0, len = document.getElementsByName("images").length-1, reader, file;
var myFiles = document.getElementsByName("images");
// Adds all files to formdata
for ( ; i < len; i++ ) {
file = myFiles[i].files[0];
if (!!file.type.match(/image.*/)) {
if ( window.FileReader ) {
reader = new FileReader();
reader.readAsDataURL(file);
}
if (formdata) {
formdata.append("images[]", file);
}
}
}
// Send data to the server.
if (formdata) {
$.ajax({
url: "upload.php",
type: "POST",
// data: formdata, // This is correct
data: {formdata, id: 1}, // This doesn't work
processData: false,
contentType: false,
success: function (res) {
console.log(res);
}
});
}
});