javascript - 将图像和文本归档 formdata ajax 发送到 php。php无法识别的图像
问题描述
我有文本类型的输入文本框和一个文件类型的输入文本框。我想在单击按钮时通过 ajax 将这些值发送到 php 文件。一切似乎都很好,但由于某种疯狂的原因,如果在 php 文件中没有识别出图像。请帮助,我没有想法。我的代码如下。
=========当按钮 id=Saved 被点击时的javascript代码====
$("#saved").on('click',function(){
$("#itemform").submit(function(e){
e.preventDefault();
});
var item_desc =document.getElementById("item_desc").value;
var item_price_type =document.getElementById("item_price_type").value;
var item_regular_price =document.getElementById("item_regular_price").value;
var item_type =document.getElementById("item_type").value;
var item_cat =document.getElementById("item_cat").value;
var taxablee =document.getElementById("taxablee").value;
var item_price_tax =document.getElementById("item_price_tax").value;
var item_offer_price=document.getElementById("item_offer_price").value;
var offer_start =document.getElementById("offer_start").value;
var offer_end =document.getElementById("offer_end").value;
var file =document.getElementById('file').value;
var price_tax="";
var formdata = new FormData();
formdata.append('file',file);
formdata.append('item_desc',item_desc);
formdata.append('item_price_type',item_price_type);
formdata.append('item_regular_price',item_regular_price);
formdata.append('item_type',item_type);
formdata.append('item_cat',item_cat);
formdata.append('taxablee',taxablee);
formdata.append('price_tax',price_tax);
formdata.append('item_offer_price',item_offer_price);
formdata.append('offer_start',offer_start);
formdata.append('offer_end',offer_end);
});
============php文件将数据插入数据库===========
$item_desc =$_POST['item_desc'];
$item_price_type=$_POST['item_price_type'];
$item_regular_price=$_POST['item_regular_price'];
$item_type=$_POST['item_type'];
$item_cat=$_POST['item_cat'];
$taxablee=$_POST['taxablee'];
$price_tax=$_POST['price_tax'];
$item_offer_price=$_POST['item_offer_price'];
$offer_start=$_POST['offer_start'];
$offer_end=$_POST['offer_end'];
$item_image = $_FILES['file']['name'];
$folder = "../menu_images/";
$pics =time().$item_image;
//$sq="// this is my insert statment";
//$sq_insert =$conn->prepare($sq);
//$sq_insert->execute(array(//these are my array values for the insert
statment));
move_uploaded_file($_FILES["file"]["tmp_name"], $folder.$pics);
解决方案
为什么不只使用 html 表单来提交您的数据,而无需为此使用 javascript。
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
推荐阅读
- xv6 - make qemu on xv6-riscv 卡在 qemu-system-riscv64 ... 命令
- javascript - 如何在不进行多个 if 语句的情况下搜索数组?
- asp.net - 使用不同表的 asp.net 核心 Web 应用程序中的 RoleManager
- r - 如何将自定义限制应用于 tmap 中的连续色带
- python - 单独提供 IV 和 Value 时 Python 中的 AES 解密
- python - 模拟请求.post
- javascript - 对名称的引用是虚线
- airflow - 缺少气流回填命令 FERNET_KEY 配置
- apache-kafka - 包含 Kafka 消费者的服务的蓝/绿部署方法
- azure - Azure 逻辑应用按 SQL 排序