パンカジ:
問題について
私は3つのことを掲示しています
- プレーンテキスト
- いくつかのプレーンテキストの配列
- 画像
PHPで掲示されるデータを読んでいる間、私は読むことができました[オブジェクト、オブジェクト]を配列データのために。
以下は、jQueryのでコードがあります
PHPファイルに投稿するデータを準備します。
var items = [];
$(Items).each(function(index, row) {
var name = $(row).find("[name^='name']").val();
var age = $(row).find("[name^='age']").val();
var sub1 = $(row).find("[name^='sub1']").val();
var sub2 = $(row).find("[name^='sub2']").val();
items.push({
"name": name,
"age": age,
"sub1": sub1,
"sub2", sub2
});
});
var fileData = new FormData();
これはいい
fileData.append('cust_first_name', $("[name='cust_first_name']").val());
これは懸念のポイントです
fileData.append('items', items);
これはいい
fileData.append('image1', $("[name='image1']").prop('files')[0]);
$.ajax({
url: "myurl.php",
cache: false,
contentType: false,
processData: false,
data: fileData,
type: 'post',
success: function (response) {
}
});
以下は、PHPのコードがあります。
//$data = json_decode(file_get_contents('php://input'), true);
これはいい
$cust_first_name = $_POST["cust_first_name"];
それが示すように、これが問題点である[オブジェクト、オブジェクト]
$items = $_POST["items"];
foreach($items as $item) {
echo "<pre>";
print_r($item);
echo "</pre>";
}
これはいい
if(isset($_FILES["image1"])) {
}
vivek_23:
バックエンドにはJavaScriptオブジェクトを渡すには、する必要がありますJSON.stringify
(連載のような)ネットワーク上にそれらを渡すためにそれら。
変更ですからfileData.append('items', items);
へ
for(var i=0;i<items.length;++i){
fileData.append('items[]', JSON.stringify(items[i]));
}