找不到这个简单问题的解决方案,我只是做了一些投票应用程序,如果用户投票,我想显示简单的警报,如“谢谢”,但我找不到从 Controller 执行此操作的方法?我已经尝试过像这样的简单 jQuery 代码,但它不起作用。
echo "<script>alert('You have already voted');</script>";
有什么简单的解决方案吗?
public function voting()
{
$ip=$_SERVER['REMOTE_ADDR'];
$id = Input::get('msg_id');
$vote = Input::get('vote');
$count = Voting::wheremes_id_fk($id)->whereip_add($ip)->count();
if($count==0)
{
if($vote == "up")
{
Project::whereid($id)->increment('up');
Voting::insert(
array('mes_id_fk' => $id, 'ip_add' => $ip )
);
}
else if ($vote=="down") {
Project::whereid($id)->decrement('down');
Voting::insert(
array('mes_id_fk' => $id, 'ip_add' => $ip )
);
}
}
else {
// How to popup "thanks" alert??
}
}
最佳答案
如果您使用 ajax 进行投票,请返回 json
响应并使用 JavaScript
响应 json
响应。
示例:
public function vote()
{
//your voting code
return Response::json(['success'=>true]);
}
并在您的 JavaScript
中检查 json
$.post('/vote/', { id: 123 }, function(data){
if(data.success== true)
{
alert('Thanks for voting);
}
}
如果您不使用ajax,只需使用Session flash。
即,从您的 Controller ,
public function vote()
{
//your voting code
Session::flash('msg', 'Thanks for voting');
return Redirect::back();
}
并从 View 中,
@if(Session::has('msg'))
{{Session::get('msg')}}
@endif
关于javascript - Laravel 5 如何让 Controller 显示简单的消息框或警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35234214/