使用 ajax 和 php 上传图像和数据
Uploading image and data using ajax and php
我正在尝试将名字、姓氏、描述和图像路径上传到 MySql 数据库。并将上传的图片移动到特定文件夹。
这是我的 ajax 函数
formData = new FormData(addPeopleForm);
var file_data = $('input[type="file"]')[0].file;
formData.append("file", file_data);
$.ajax({
type: "POST",
url: "functions.php",
contentType: false,
cache: false,
processData: false,
data: {
function: "savepeople",
data: formData
}, success: function(data){
console.log(data);
getPeople();
}
});
functions.php
if(isset($_POST['function'])){
$f = $_POST['function'];
if($f == "savepeople"){
require_once("config.php");
echo $_POST['firstname'];
.
.
.
您不能使用 ajax 调用直接将图像发送到 php 文件,您必须在定义
时采用表格 enctype="multipart/form-data"
并在 ajax 调用
时替换此文件上传代码
要在表单数据中附加文件,请使用以下代码
formData = new FormData(); //your form name
var file_data = $('input[type="file"]')[0].file;
formData.append("file", file_data);
formData.append("function","savepeople"); // new variable for your php condition
$.ajax({
url: "YOUR_FILE_PATH",
type: "POST",
data: formData,
contentType: false,
cache: false,
processData: false,
success: function(data) {
// success operation here
},
并且在 php 方面,您必须使用 $_FILES['YOUR_FILE_NAME']
而不是 $_POST['YOUR_FILE_NAME']
来访问服务器上上传的文件。
你可以试试这个代码
$.ajax({
type:'POST',
url:'functions.php',
data:new FormData($('#my_form')[0]),
cache: false,
contentType: false,
processData: false,
success:function(msg)
{
console.log(msg);
}
});
return false;
其中 #my_form 是您的表单 ID
var formData = new FormData($(this)[0]);
var action = "savepeople";
$.ajax({
url : 'functions.php',
type : 'POST',
data: {action:action,formData:formData},
contentType: false,
cache: false,
processData:false,
async : false,
, success: function(data){
console.log(data);
getPeople();
}
});
functions.php
if(isset($_POST['action']) && $_POST['action'] == "savepeople"){
//TO DO CODE
}
我正在尝试将名字、姓氏、描述和图像路径上传到 MySql 数据库。并将上传的图片移动到特定文件夹。
这是我的 ajax 函数
formData = new FormData(addPeopleForm);
var file_data = $('input[type="file"]')[0].file;
formData.append("file", file_data);
$.ajax({
type: "POST",
url: "functions.php",
contentType: false,
cache: false,
processData: false,
data: {
function: "savepeople",
data: formData
}, success: function(data){
console.log(data);
getPeople();
}
});
functions.php
if(isset($_POST['function'])){
$f = $_POST['function'];
if($f == "savepeople"){
require_once("config.php");
echo $_POST['firstname'];
.
.
.
您不能使用 ajax 调用直接将图像发送到 php 文件,您必须在定义
时采用表格enctype="multipart/form-data"
并在 ajax 调用
时替换此文件上传代码要在表单数据中附加文件,请使用以下代码
formData = new FormData(); //your form name
var file_data = $('input[type="file"]')[0].file;
formData.append("file", file_data);
formData.append("function","savepeople"); // new variable for your php condition
$.ajax({
url: "YOUR_FILE_PATH",
type: "POST",
data: formData,
contentType: false,
cache: false,
processData: false,
success: function(data) {
// success operation here
},
并且在 php 方面,您必须使用 $_FILES['YOUR_FILE_NAME']
而不是 $_POST['YOUR_FILE_NAME']
来访问服务器上上传的文件。
你可以试试这个代码
$.ajax({
type:'POST',
url:'functions.php',
data:new FormData($('#my_form')[0]),
cache: false,
contentType: false,
processData: false,
success:function(msg)
{
console.log(msg);
}
});
return false;
其中 #my_form 是您的表单 ID
var formData = new FormData($(this)[0]);
var action = "savepeople";
$.ajax({
url : 'functions.php',
type : 'POST',
data: {action:action,formData:formData},
contentType: false,
cache: false,
processData:false,
async : false,
, success: function(data){
console.log(data);
getPeople();
}
});
functions.php
if(isset($_POST['action']) && $_POST['action'] == "savepeople"){
//TO DO CODE
}