在一个简单的Laravel 4测试应用程序中,当用户点击“上传”时,jQuery将formdata发送到控制器
var formdata = new FormData(form);
request.open('post', 'submit');
request.send(formdata);
控制器接收文件并生成一组图像。
foreach(Input::file("image") as $image) {
$imagename = $image->getClientOriginalname();
$uploadflag = $image->move('public/uploads', $imagename);
if($uploadflag){
$uploadedImages[] = $imagename;
}
}
return Response::json(['success' => true, 'message' => 'images uploaded successfully', 'images' => $uploadedImages]);
现在我想在视图中显示图像(show.php),以便在控制器中显示:
return View::make('show')
->with('uploadedImages', $uploadedImages);
show.php只包含一个循环:
@foreach($uploadedImages as $uploadedImage)
<div>{{ HTML::image($uploadedImage) }}</div>
@endforeach
但没有任何反应 - 视图没有显示。 Laravel日志文件中没有错误消息,Response :: json结果显示图像在数组中。 以下是我尝试过的路线:
Route::post('show', function()
{
return View::make('show');
});
我试过
Route::get('show', function()
{
return View::make('show');
});
我试过
Route::post('show', array(
'as' => 'show',
'uses' => 'ImageController@upload'
));
没有jQuery,控制器没有问题 - 返回View :: make - 但是现在jQuery处理上传它不起作用。我需要jQuery来允许用户最终选择要上传的文件。 欢迎任何和所有的帮助!
答案 0 :(得分:0)
如果您的输出文件只是“show.php”它将无效,该文件必须具有扩展名.blade,如“show.blade.php”。
并且不要忘记将此文件添加到“路线”中。
答案 1 :(得分:0)
在视图文件之前使用字符串函数,如
return (String) view('Company.allUserAjax',$data)
之后你的填充将回复