【发布时间】:2016-11-04 09:36:55
【问题描述】:
我创建了一个表格,如下所示 html代码:
<form method="post" class="inline" id="upload_form" enctype="multipart/form-data">
<input style="margin-top:0px;" type="file" name="data1" id="file1" class="btn btn-block btn-primary"/>
<input type="hidden" name="_token" value="{{ csrf_token() }}" id="token">
<a href="#" id="submit">link submit</a>
</form>
ajax 代码:
function create()
{
alert();
var file = document.getElementById('file1');
var token = document.getElementById('token').value;
var data1 = new FormData($("#upload_form")[0]);
var route = "http://localhost:8080/form";
console.log(FormData);
console.log(data1);
$.ajax({
type:'POST',
url: route,
headers: {'X-CSRF-TOKEN': token},
contentType: false,
processData: false,
data:{
'data1': data1,
},
success:function(e){
if(e == 0)
{
alert("Success Full Created");
}
else
{
alert("Error");
}
}
});
}
这是我的路线:
Route::post('form', 'StoreController@newstore');
我创建了下面给出的控制器 控制器:
public function newstore(Request $request)
{
$post = $request->file('data1');
dd($post);
//If there is error try dd($post) and let me know
// we need know if the data file image is passing to controller
$imageName = $post->getClientOriginalName();
$imagemove= $post->move(public_path('images'),$imageName);
$data123 = array ( "photo"=> $imageName, );
$check222 = DB::table('product') -> insert($data123);
}
当我运行此代码时,它会显示此错误: RouteCollection.php 第 218 行中的 MethodNotAllowedHttpException:
【问题讨论】:
-
在你的函数create()中的$formData之后,请插入console.log($formData);打开你的控制台浏览器,让我们看看结果
-
我在控制台日志中得到了这个声明:FormData proto:FormData append:append() 构造函数:FormData() delete:delete() entries:entry() forEach:forEach () get : get() getAll : getAll() has : has() keys : keys() set : set() values : values() Symbol(Symbol.iterator) : () Symbol(Symbol.toStringTag) : "FormData " proto : 对象
-
好的尝试改变你的类型:'get'到类型:'POST'
-
更改类型后显示:未定义索引:data1
-
打开网络浏览器提交文件,可能需要csfr令牌,
标签: php ajax laravel-5.2 laravel-5.3