繁体   English   中英

不要在Ajax Laravel 5.2中运行window.location.href

[英]Don't run window.location.href in ajax laravel 5.2

我有问题,当我使用ajax时,代码会运行larvel并且我可以从ajax获取结果,但是这不会运行window.location.href = "http://stackoverflow.com";

$('.promotion').click(function(){
                var id= $(this).attr('id');
                var url= $(this).attr('href');    
                  $.ajax({
                        url:"link-"+id+"-"+url+"",
                        type:"GET",
                        cache:false,
                        data:{'id':id,'url':url,_token:$(this).data('token')},
                        dataType:"json",
                        success: function(data){
                             if(data=='oke'){
                               window.location.href = "http://stackoverflow.com";
                             }
                            }
                        });
                        return false;

                });

countController

public function count($id){
            $db= DB::table('promotions')->where('id','=', $id)->get();

            DB::table('promotions')->where('id','=', $id)->update(['count_pm' => $db[0]->count_pm +1]);
            echo 'oke';
        }

由于此参数,您的脚本试图将服务器响应转换为JSON对象: dataType:"json", 只需将其删除,您就可以使用了!

或者:更改从控制器返回的值-返回数组,该数组将在前端转换为JSON。

删除数据类型:json,然后尝试这个

public function count($id){
        $db= DB::table('promotions')->where('id','=', $id)->get();

        DB::table('promotions')->where('id','=', $id)->update(['count_pm' => $db[0]->count_pm +1]);
       return response()->json(['result' => 'oke']);
    }

和jQuery代码将是

if(data.result == 'oke'){
             window.location.href = "http://stackoverflow.com";
                         }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM