1
私はajaxを使用してサーバにデータを投稿しようとしています。私はイメージをアップロードすることに立ち往生しています、私は自分のミスがどこにあるのかわかりません。どのように私はこれを修正することができます示唆してくださいできますか?ajaxフォームをPHP jqueryを使用してサーバにアップロード
以下は私のスクリプトとPHPコードです。あなたが「ファイル」であるFORMDATAに言及したようにPHPコード内のファイルにアクセスするために同じ名前を使用する必要が
$("#submit").click(function() {
var formData = new FormData();
formData.append('file', $('input[type=file]')[0].files[0]);
var name = $("#first_name").val();
var country = $("#country").val();
var city = $("#city").val();
$.ajax({
url: 'personaliseService.php?name=' + name + '&country=' + country + '&city=' + city,
dataType: 'json',
processData: false,
contentType: false,
data: formData,
//data: new FormData(), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
success: function(response) {
console.log(response);
},
error: function(error) {
alert("Yes");
console.log(error);
}
});
});
<?php
include("config.php");
$name = $_REQUEST['name'];
$country = $_REQUEST['country'];
$city = $_REQUEST['city'];
$image = $_FILES['image']['name'];
$sourcePath = $_FILES['image']['tmp_name'];
$targetPath = "uploads/".$_FILES['file']['name']; // Target path where file is to be stored
move_uploaded_file($sourcePath, $targetPath) ; // Moving Uploaded file
$sql = "INSERT into personalise (name, country, city, image) VALUES ('$name', '$country', '$city', '$image')";
$sqlQuery = mysqli_query($conn, $sql);
if(mysqli_insert_id($conn) > 0){
$insertValue = array("response" => "Data Inserted Successfully");
echo '{"response": '.json_encode($insertValue).', "success": true}';
}else{
echo '{"response": '.json_encode($insertValue).', "success": false}';
}
?>
あなたのPHPコードは '$ _FILES [「イメージ」]をチェックして'が、フォームでimage' 'への参照が存在しないのですか?なぜあなたのフォームは 'dataType: 'json''を使っていますか? –
http://stackoverflow.com/q/10492617/1072229 –
はい私は削除されたデータ型を理解していますが、どうすれば画像参照plsを得ることができます –