Good Day stackoverflow-Devs,
Я работаю над проектом кампании, где вы можете создавать, редактировать и просматривать свою кампанию, прежде чем опубликовать ее. Я использую MySQL и базу данных реального времени Firebase для хранения данных. Я написал цикл for JavaScript, и внутри есть оператор if с вызовом ajax для отправки данных в контроллер laravel, где контроллер просто передает эти данные в представление.
Я пытался использовать следующие методы просмотра:
return view('view-campaign')->with('img',$img); //This one used to work perfectly
и
return redirect('view-campaign')->with('img',$img);
и, наконец,
return view('view-campaign', ['img',$img]);
Вот мой исходный код:
Кнопка
<td>
<a onclick="viewCampaign('{{$item->id}}')" class="btn btn-success mb-2"
data-toggle="tooltip" title="view campaign">
<i class="fa fa-edit"></i>
</a>
</td>
Javascript-Function
function viewCampaign(id){
console.log(id);
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "apiKey",
authDomain: "authDomain",
databaseURL: "databaseURL",
projectId: "projectId",
storageBucket: "storageBucket",
messagingSenderId: "messagingSenderId",
appId: "appId"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
database = firebase.database();
var ref = database.ref("CampaignCollection");
//retrieve firebase stored data
ref.on('value', function getData(data){
var obj = data.val();
var keys = Object.keys(obj);
for(var i = 0; i < keys.length; i++) {
var k = keys[i];
var F_id = obj[k].id;
var img = obj[k].Poster;
var name = obj[k].Name;
if(id == F_id){
$.ajax({
type: "POST",
url: "/viewCampaign",
data: {
'img': img,
"_token": "{{ csrf_token() }}",
},
})
}
}
})
}
просмотр маршрута кампании
Route::post('viewCampaign','CampaignController@viewCampaign');
Контроллер кампании просмотра
public function viewCampaign(){
$img = $_POST['img'];
return view('view-campaign')->with('img',$img);
}
Ответ
Ожидаемый выход - перенаправить результат на блейд и отобразиться как веб-страница, а не как ответ dev-tool.