Javascript 如何使用ajax发送图像和数据
我想更改个人资料信息。有4个输入框和2个输入文件类型 仅使用javascript而不使用jquery可以解决此问题吗 我不能使用Ajax传递输入框值和输入文件类型图像,直到现在我的代码总是返回Javascript 如何使用ajax发送图像和数据,javascript,php,ajax,file-upload,image-uploading,Javascript,Php,Ajax,File Upload,Image Uploading,我想更改个人资料信息。有4个输入框和2个输入文件类型 仅使用javascript而不使用jquery可以解决此问题吗 我不能使用Ajax传递输入框值和输入文件类型图像,直到现在我的代码总是返回 Notice: Undefined index: full_name in C:\xampp\htdocs\hate\php\profile-update.php on line 6 ... until Notice: Undefined index: bg_img in C:\xampp\htdoc
Notice: Undefined index: full_name in C:\xampp\htdocs\hate\php\profile-update.php on line 6
... until
Notice: Undefined index: bg_img in C:\xampp\htdocs\hate\php\profile-update.php on line 15
我认为我在formData.append()中犯了错误代码>
有人能解释一下.files[0]吗。我在谷歌上找不到它
html
profile-update.php从第6行开始
$full_name = $_POST['full_name'];
$screen_name = htmlspecialchars(mysqli_real_escape_string($conn,$_POST['screen_name']));
$target_name = $_POST['target_name'];
$description = htmlspecialchars(mysqli_real_escape_string($conn,$_POST['description']));
$profile_img_name = $_FILES['profile_img']['name'];
$profile_img_size = $_FILES['profile_img']['size'];
$profile_img_tmp = $_FILES['profile_img']['tmp_name'];
$bg_img_name = $_FILES['bg_img']['name'];
$bg_img_size = $_FILES['bg_img']['size'];
$bg_img_tmp = $_FILES['bg_img']['tmp_name'];
试试这个:
我在这里举了一个例子。请从那里获取适当的代码,并在脚本中使用它
<script type="text/javascript">
$(document).ready(function() {
$("form#frm1").submit(function() {
var formData = new FormData($(this)[0]);
$.ajax({
url: 'posturl.php',
type: 'POST',
data: formData,
async: false,
success: function(data) {
alert(data);
},
cache: false,
contentType: false,
processData: false
});
return false;
});
});
</script>
<form name="frm1" id="frm1" action="number.php" method="post" enctype="multipart/form-data">
<input type="text" name="pname" id="pname" placeholder="Person Name" />
<br />
<br />
<input type="file" name="pfile" id="pfile" />
<br />
<input type="submit" value="Send" name="btnadd" id="btnadd" style="margin-top: 25px" />
</form>
$(文档).ready(函数(){
$(“表格frm1”)。提交(函数(){
var formData=新formData($(此)[0]);
$.ajax({
url:'postrl.php',
键入:“POST”,
数据:formData,
async:false,
成功:功能(数据){
警报(数据);
},
cache:false,
contentType:false,
processData:false
});
返回false;
});
});
另外,在这里使用您自己的表单和字段。您能解释一下为什么使用$(this)[0]吗?
$("#yourId").click(function(){
$.ajax({
url: "provideyourUrl.php",// give your url
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function (response) {
console.log(response);
}
});
});
<script type="text/javascript">
$(document).ready(function() {
$("form#frm1").submit(function() {
var formData = new FormData($(this)[0]);
$.ajax({
url: 'posturl.php',
type: 'POST',
data: formData,
async: false,
success: function(data) {
alert(data);
},
cache: false,
contentType: false,
processData: false
});
return false;
});
});
</script>
<form name="frm1" id="frm1" action="number.php" method="post" enctype="multipart/form-data">
<input type="text" name="pname" id="pname" placeholder="Person Name" />
<br />
<br />
<input type="file" name="pfile" id="pfile" />
<br />
<input type="submit" value="Send" name="btnadd" id="btnadd" style="margin-top: 25px" />
</form>
$("#yourId").click(function(){
$.ajax({
url: "provideyourUrl.php",// give your url
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function (response) {
console.log(response);
}
});
});