javascript - Laravel 5 如何让 Controller 显示简单的消息框或警报?

标签 javascript php jquery laravel alert

找不到这个简单问题的解决方案,我只是做了一些投票应用程序,如果用户投票,我想显示简单的警报,如“谢谢”,但我找不到从 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/

相关文章:

javascript - FullCalendar不添加任何事件(周 View 、议程 View )

javascript - 如何使用 jqplot 设置饼图的圆圈大小?

javascript - 如何在 jQuery 中调用 javascript 函数

php - 一月份的重复天数

php - brew 链接 php71 : Could not symlink sbin/php-fpm

javascript - 在声明中获取元素属性 - jQuery

javascript - 如何在scrollTop上应用百分比

javascript - 如何根据条件删除元素?

php - 使用 PHP 数组显示下拉菜单

javascript - Jquery 插件绑定(bind)更改事件