Good Day stackoverflow-Devs,
我正在研究一个广告系列项目,在发布之前,您可以在其中创建,编辑和查看广告系列。我正在使用MySQL和Firebase实时数据库来存储数据。我写了一个JavaScript for循环,里面有一个带ajax调用的if语句,用于将数据发布到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>
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);
}
期望的结果是将结果重定向到刀片,并显示为网页,而不是开发工具的响应。
答案 0 :(得分:0)
您正在做的是将ajax请求发送到正常的Web路由。它将返回一个网页。这样该网页将作为ajax响应返回。您可能需要作为表单请求提交详细信息。