Php 在Ajax中发送文件和数据
我正在尝试将文件和数据一起发送到控制器 当我发送文件时,它工作正常,但当我试图发送数据和文件时,我什么也得不到Php 在Ajax中发送文件和数据,php,jquery,html,ajax,laravel,Php,Jquery,Html,Ajax,Laravel,我正在尝试将文件和数据一起发送到控制器 当我发送文件时,它工作正常,但当我试图发送数据和文件时,我什么也得不到 contentType: false, processData: false, 当我删除这些代码时,我可以发送数据 我该怎么办 html代码 <div class="form-group "> <input class="form-control" id="title" name="title" type="text" /> </div>
contentType: false,
processData: false,
当我删除这些代码时,我可以发送数据
我该怎么办
html代码
<div class="form-group ">
<input class="form-control" id="title" name="title" type="text" />
</div>
<div class="form-group ">
<textarea class="form-control" cols="40" id="desc" name="textarea" rows="10"></textarea>
</div>
<div class="form-group ">
<div class="">
<div class="radio">
<label class="radio">
<input name="answer" id="respawn" type="radio" value="1" /> 1
</label>
</div>
<div class="radio">
<label class="radio">
<input name="answer" type="radio" value="2" /> 2
</label>
</div>
<div class="radio">
<label class="radio">
<input name="answer" type="radio" value="3" /> 3
</label>
</div>
</div>
</div>
<div class="form-group">
<input type="file" name="file" id="file">
</div>
ajax代码
$("#offer").click(function() {
var title = $("#title").val();
var desc = $("#desc").val();
var respawn = $("#respawn").val();
var pic = new FormData();
pic.append('file', $('#file')[0].files[0]);
var offer = {
title: title,
desc: desc,
respawn: respawn,
pic: pic
};
$.ajax({
method: 'POST',
url: '/create',
headers: {
'X-CSRF-TOKEN': CSRF_TOKEN
},
data: offer,
contentType: false,
processData: false,
success: function(response) {
alert("Successful!")
}
});
});
使用以下代码:
$.ajax({
method:'POST',
url:'/create',
headers: {
'X-CSRF-TOKEN': CSRF_TOKEN
},
data:pic,
contentType: false,
processData: false,
success:function(response){
alert("Successful!")
}
});
您正在使用formData代替pic。请使用以下代码:
$.ajax({
method:'POST',
url:'/create',
headers: {
'X-CSRF-TOKEN': CSRF_TOKEN
},
data:pic,
contentType: false,
processData: false,
success:function(response){
alert("Successful!")
}
});
您使用的是formData而不是pic。很抱歉,我正在处理一些其他函数和变量,但我忘了删除它们我正在尝试发送要约而不是FormDataOK只需将要约对象附加到pic本身并发送它们。。它会工作的你能给我确切的代码吗?我不明白它是如何工作的var pic=new FormData();pic.append('file',$('#file')[0].files[0]);图.附加(“标题”,标题);pic.追加('desc',desc');图.附加(“重生”,重生);并使用$.ajax({method:'POST',url:'/create',headers:{'X-CSRF-TOKEN':CSRF_TOKEN},数据:pic,contentType:false,processData:false,success:function(response){alert(“Successful!”)}发送;抱歉,我正在处理一些其他函数和变量,但我忘记删除它们了我正在尝试发送offer而不是formdataok只需将offer对象附加到pic本身并发送。。它会工作的你能给我确切的代码吗?我不明白它是如何工作的var pic=new FormData();pic.append('file',$('#file')[0].files[0]);图.附加(“标题”,标题);pic.追加('desc',desc');图.附加(“重生”,重生);并使用$.ajax({method:'POST',url:'/create',headers:{'X-CSRF-TOKEN':CSRF_TOKEN},数据:pic,contentType:false,processData:false,success:function(response){alert(“Successful!”)}发送;