Javascript 如何使用图像和字符串将数据传递到ajax

Javascript 如何使用图像和字符串将数据传递到ajax,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我上传数据库中带有名称的图像时遇到问题我的代码工作正常,但仅用于图像,我无法在其中添加名称和其他数据 var formdata = new FormData(this); formdata.append("movieprice", movieprice); formdata.append("movietitle", movietitle); formdata.append("moviecategory", moviecategory); formdata.append("u

我上传数据库中带有名称的图像时遇到问题我的代码工作正常,但仅用于图像,我无法在其中添加名称和其他数据

  var formdata = new FormData(this);

  formdata.append("movieprice", movieprice);
  formdata.append("movietitle", movietitle);
  formdata.append("moviecategory", moviecategory);
  formdata.append("upload", upload);
  formdata.append("image", image);
  var upload ="upload";

 $.ajax({
   url:"uploadmovie.php",
   method:"POST",
   data:formdata,
   contentType:false,
   processData:false,
   success:function(data){

     if (data === "YES"){
       alert(data)
       swal("Successfully Uploaded", "", "success")
       .then((value) => {
          window.location.reload();
       });
     }else{
       alert(data)
       swal("Error", "", "warning")
     }
  }
 });
}
这也适用于变量:

var movieprice = $('#movieprice').val();
var movietitle = $('#movietitle').val();
var moviecategory = $('#moviecategory').val();
如何将该值传递给ajax

下面是那些寻找我没有在javascript上为空字段添加验证的html

        <form method="POST" enctype="multipart/form-data" >
     <div class="w3-col m12 02">
        <div class="w3-rest w3-container w3-blue" style="width:100%;">
          <label id="label"><i class="fa fa-tag" style="font-size:24px;"> Movie Category</i></label>
        </div>
           <select id="moviecategory" name="moviecategory">
             <option>Romance</option>
             <option>Comedy</option>
             <option>Action</option>
             <option>Drama</option>
             <option>Horror</option>
             <option>Sci-Fi</option>
         </select>
     </div>

     <div class="w3-col m12 02">
        <div class="w3-rest w3-container w3-blue" style="width:100%;">
          <label id="label"><i class="fa fa-address-card" style="font-size:24px;"> Movie Title</i></label>
        </div>
        <input type="text" name="movietitle" id="movietitle">
     </div>

     <div class="w3-col m12 02">
        <div class="w3-rest w3-container w3-blue" style="width:100%;">
          <label id="label"><i class="fa fa-money" style="font-size:24px;"> Movie Price</i></label>
        </div>
        <input type="number" name="movieprice" id="movieprice">
     </div>

     <div class="w3-col m12 02">
        <div class="w3-rest w3-container w3-blue" style="width:100%;">
          <label id="label"><i class="fa fa-file" style="font-size:24px;">Movie Image</i></label>
        </div>
        <input type="file" name="image" id="image" /><br />
     </div>

     <footer class="w3-container">
       <button class="w3-right btn btn-danger" id="close" style="float: right; width:90px; margin-left:10px;">close</button>
       <button type="submit" class="btn btn-primary" name="upload" id="upload" value="Upload Image" style="float: right; width:90px;">Add</button>
     </footer>
  </form>

您可以使用以下方法将自定义数据添加到实例中:


服务器端将在
$\u POST
数组中接收数据
“movieprice”
“movietitle”
“moviecategory”

您可以使用以下方法将自定义数据添加到实例中:


服务器端将在您的
$\u POST
数组中接收数据
“movieprice”
“movietitle”
“moviecategory”

它将继续成功,但不会使用此$movieprice=$\u POST['$movieprice']在databaseIm中添加数据$movietitle=$_POST['$movietitle']$moviecategory=$\u POST['$moviecategory']$file=addslashes(file_get_contents($_FILES[“image”][“tmp_name”]))@NeCat Yes以获取POST数据。有关文件,请参阅的文档。你也可以看到例子。对于添加到数据库,这里很难说(有很多话要说)。但是你可以问一个新问题。它成功了,但是它没有在databaseIm上添加使用这个$movieprice=$\u POST['$movieprice']$movietitle=$_POST['$movietitle']$moviecategory=$\u POST['$moviecategory']$file=addslashes(file_get_contents($_FILES[“image”][“tmp_name”]))@NeCat Yes以获取POST数据。有关文件,请参阅的文档。你也可以看到例子。对于添加到数据库,这里很难说(有很多话要说)。但你可以问一个新问题。@难以置信的帽子单反,我已经更新了it@IncredibleHat单反,我已经更新了
if (move_uploaded_file($_FILES["image"]["tmp_name"], $target)) {
$target = "images/".basename($_FILES["image"]["tmp_name"]);
var movieprice = $('#movieprice').val();
var movietitle = $('#movietitle').val();
var moviecategory = $('#moviecategory').val();

// create FormData object
var formdata = new FormData(this);

// add custom data :
formdata.append("movieprice", movieprice);
formdata.append("movietitle", movietitle);
formdata.append("moviecategory", moviecategory);

// send data
$.ajax({
    url:"uploadmovie.php",
    method:"POST",
    data:formdata,
    contentType:false,
    processData:false,
    success:function(data){
        // ...
    }
});