У меня мозг тает над чем-то вроде просто. Я использую Ajax для загрузки изображений в этом кодеlaravel return view :: make not working
foreach(Input::file('image') as $image){
$imagename = $image->getClientOriginalName();
$uploadflag = $image->move('public/uploads', $imagename);
$urlPath = 'uploads/';
$showPath = $urlPath . $imagename;
if($uploadflag){
$uploadedImages[] = $showPath;
}
}
return View::make('index')
->with('uploadedImages', $uploadedImages);
целевая страница является index.blade.php, который содержит
@foreach($uploadedImages as $uploadedImage)
{{ HTML::image($uploadedImage) }}
@endforeach
В Chrome DevTools Network Preview/Response можно увидеть изображения на страница
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="container">
<div class="row">
<img src="http://localhost:8000/uploads/3.jpg">
<img src="http://localhost:8000/uploads/4.jpg">
</div>
</div>
Но страница не загружается в браузер, она сохраняется на странице загрузки. Если удалить JQuery ....
<script>
var form = document.querySelector('form');
var request = new XMLHttpRequest();
form.addEventListener('submit', function(e) {
e.preventDefault();
var formdata = new FormData(form);
request.open('post', 'submit', true);
request.send(formdata);
}, false);
</script>
.... то works.So, что происходит с JQuery, который останавливает возвращение View :: сделать работу и что я могу сделать, чтобы получить его работать?
ОБНОВЛЕНО Вот некоторые из вариантов, которые я попробовал - ajaxindex это идентификатор контейнера DIV в index.blade.php
$(document).ajaxSuccess(function() {
$("#ajaxindex").append(data);
});
$(document).ajaxSuccess(function() {
$("#ajaxindex").append($uploadedImages);
});
$.ajax("index", function(data) {
$("#ajaxindex").append(data);
});
Добро пожаловать в SO! Вы отправляете форму через Ajax и, очевидно, получаете правильный ответ через Ajax. Вы не можете отправлять через Ajax и ожидать перенаправления. – PeterKA
Спасибо за ваше приветствие! Так вот в чем причина проблемы, но как я могу получить данные в виде для ее отображения? – metarzan
Поскольку вы получаете данные обратно через ajax, вы можете манипулировать содержимым текущей страницы, чтобы показать ответ с сервера ... у вас есть это ---> просто отобразить его ... '$ ('. Some -selector '). append (data); 'Не стесняйтесь использовать'. $ .ajax() 'или' $ .post() '. – PeterKA