将图像沿着ajax中的其他数据发送到php

时间:2017-02-06 13:50:32

标签: php ajax

我需要的帮助不大。我创建了ajax表单并将数据传递给api.php。我没有问题发送正常值到PHP。我目前在发送文件时遇到问题。

HTML

<form id="adding" enctype="multipart/form-data">

 <input type="file" id="imgInp">

 <input type="text" id="name">

 <button type="submit" class="btn btn-default pull-right">Submit</button>
</form>

的Javascript

$('#adding').submit(function(e) {
    e.preventDefault();
    $.ajax({
       type: "POST",
       url: 'api.php?do=add',
       data: {
            img: $("#imgInp").val(),
            name: $("#name").val()
        },
       success: function(data)
       {
          if (data === 'KO'){
            document.getElementById("error").innerHTML = "Alert";           
          }
           if (data === 'OK'){
            document.getElementById("error").innerHTML = "OK";          
          }
       }
   });

变量名称的数据可以发送,但不能从img发送。请帮忙。谢谢

1 个答案:

答案 0 :(得分:0)

听起来像你需要使用表单数据对象。在data属性中,通过ajax调用,

仅供参考:你需要有jquery库才能实现这个目标

这将获取所有表单内容,然后您可以接收表单内容,包括php控制器上的图像

<?php
try{
if(isset($_FILES) && $_FILES['tmp_name'] != null){
//awesome, we have something here
//then check for extensions, validate and move upload 
}else{
  //no file
}

}catch(Exception $ex){
  echo($ex->getMessage());
}
?>

在你的php端,

{{1}}