Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel5.1使用ajax调用在数据库中保存内容_Php_Jquery_Mysql_Ajax_Laravel - Fatal编程技术网

Php Laravel5.1使用ajax调用在数据库中保存内容

Php Laravel5.1使用ajax调用在数据库中保存内容,php,jquery,mysql,ajax,laravel,Php,Jquery,Mysql,Ajax,Laravel,我正在构建一个用户可以上传项目的应用程序。我正在实施一个系统,用户可以“喜欢/不喜欢”其他项目。我正在尝试使用AJAX调用来保存喜欢的内容。用户可以在项目的详细信息页面上喜欢项目(/projects/{id}) 我有一个表用户,项目和喜欢。我的计划是在likes表中保存likes,这样一个记录看起来像这样:id、user\u id、project\u id。将来我可以进行计数查询,找出每个项目有多少likes,等等 由于某种原因,当我单击like按钮时,我的应用程序会被卡住并一直加载,直到崩溃

我正在构建一个用户可以上传项目的应用程序。我正在实施一个系统,用户可以“喜欢/不喜欢”其他项目。我正在尝试使用AJAX调用来保存喜欢的内容。用户可以在项目的详细信息页面上喜欢项目(/projects/{id})

我有一个表用户,项目和喜欢。我的计划是在likes表中保存likes,这样一个记录看起来像这样:id、user\u id、project\u id。将来我可以进行计数查询,找出每个项目有多少likes,等等

由于某种原因,当我单击like按钮时,我的应用程序会被卡住并一直加载,直到崩溃

我的文件: Ajax调用

$(document).ready(function(){
        console.log("js loaded");
        $('#likeform').on('submit', function(e) {
            console.log("like submitted");
            e.preventDefault();

            $.ajax({
                url: $(this).parent().attr('action'),
                type: "post",
                data: {'_token': token, 'user_id': $('input[name=user_id]').val(), 'project_id': $('input[name=project_id]').val()},
                success: function(data){
                    alert(data);
                }
            })
        });
    });
我的表格

  {!! Form::open(array('url'=>'projects/'.$project->id.'/like','method'=>'POST', 'id'=>'likeform')) !!}
    <input type="hidden" id="token" value="{{ csrf_token() }}">
    {!! Form::Submit('Like', array('class'=>'send-btn')) !!}
{!! Form::close() !!}
LikeControl中的My like函数:

public function like()
{
    if(Request::ajax()) {
        $data = Input::all();
        print_r($data);die;
    }
}

卡住并继续加载,直到崩溃

这一部分可能与ajaxpost期望某种响应有关,但您在控制器中根本没有响应。试试像这样的东西

public function like()
{
    if(Request::ajax()) {
        $data = Input::all();
        return Response::json([
                'error' => false,
                'insertedData' => $data
            ], 200);
    }
}  
请记住在控制器中使用响应。现在您正在向ajax调用返回一些内容,您应该能够访问
$data

success: function(data){
            alert(data.insertedData);
         }
你是否也有同样的行为?如果没有,您可以继续执行实际的db插入

卡住并继续加载,直到崩溃

这一部分可能与ajaxpost期望某种响应有关,但您在控制器中根本没有响应。试试像这样的东西

public function like()
{
    if(Request::ajax()) {
        $data = Input::all();
        return Response::json([
                'error' => false,
                'insertedData' => $data
            ], 200);
    }
}  
请记住在控制器中使用响应。现在您正在向ajax调用返回一些内容,您应该能够访问
$data

success: function(data){
            alert(data.insertedData);
         }

你是否也有同样的行为?如果没有,您可以继续执行实际的db插入

浏览器控制台在加载时是否有提示?你查过你的日志了吗?提供任何类型的错误都将大大提高您获得正确答案的机会。我的控制台中没有任何内容。我一点错误都没有,这有点烦人,奇怪。无论如何,我没有测试您的代码,但是您正在尝试从您的表单中检索
action
属性,而它没有属性。您确实设置了一个
url
。我不确定这是您想要的,但在我看来值得一试。旁注:使用
form
facade构建表单将自动设置一个隐藏的
token
字段,因此实际上不需要在表单中添加第二个。哦,好的,我想知道为什么有两个隐藏的token字段。现在我知道:)
action
vs
url
简直是胡说八道。我的错。很奇怪,你没有收到任何错误,至少在服务器日志中是这样。浏览器控制台在加载时有没有说什么?你查过你的日志了吗?提供任何类型的错误都将大大提高您获得正确答案的机会。我的控制台中没有任何内容。我一点错误都没有,这有点烦人,奇怪。无论如何,我没有测试您的代码,但是您正在尝试从您的表单中检索
action
属性,而它没有属性。您确实设置了一个
url
。我不确定这是您想要的,但在我看来值得一试。旁注:使用
form
facade构建表单将自动设置一个隐藏的
token
字段,因此实际上不需要在表单中添加第二个。哦,好的,我想知道为什么有两个隐藏的token字段。现在我知道:)
action
vs
url
简直是胡说八道。我的错。很奇怪,你没有收到任何错误,至少在服务器日志中是这样。我已经尝试了你的答案,不幸的是,我仍然在经历同样的问题behaviour@MoussaChaabar好吧,那就更奇怪了。您应该尝试在开发人员模式下测试代码,并尝试了解哪里/谁失败了。ajax调用中的几个断点是一个好的开始。我仍然不明白为什么你没有得到任何错误。您是否可以尝试在ajax中设置
错误
回调,类似
错误:函数(数据){console.log(数据);}
。至少这应该告诉我们ajax调用是否真的执行了。我已经尝试了你的答案,不幸的是,我仍然在经历同样的问题behaviour@MoussaChaabar好吧,那就更奇怪了。您应该尝试在开发人员模式下测试代码,并尝试了解哪里/谁失败了。ajax调用中的几个断点是一个好的开始。我仍然不明白为什么你没有得到任何错误。您是否可以尝试在ajax中设置
错误
回调,类似
错误:函数(数据){console.log(数据);}
。至少这应该告诉我们是否实际执行了ajax调用。