使用laravel通过ajax发送变量

时间:2015-08-11 11:02:08

标签: php ajax laravel

我试图通过ajax将两个变量发送到laravel中的php脚本。 实际上我不清楚如何移动这些变量。 你介意给我一些建议吗? newComment包含一些字符串,id只是一个数字。

var newComment =  document.getElementById('newComment').value;               

                  $.ajax({
                      type: 'get',
                      url: '/editcomment',
                      data: {newComment: newComment,
                                     id: id},

                      success:function(){
                               alert('success');
                             },
                      error:function(){
                               alert('failure');
                             }
                  });                     
              });

这是我的路线:

Route::any('/editcomment/{id}/{newComment}', 'HomeController@editComment');

这里是家庭控制器中的功能:

public function editComment(){
    $aaa = Input::all();
    return $aaa;
    }

我在过去的两天里一直在努力,不断查看文档和教程,但不知道如何做到这一点。

3 个答案:

答案 0 :(得分:2)

您不需要将变量添加到此请求的网址中。您在ajax请求中包含的数据将作为帖子正文发送到服务器。

尝试将路线更改为Route::any('/editcomment', 'HomeController@editComment');

并使用

public function editComment(){
    return Input::all();
}

这应显示idnewComment

答案 1 :(得分:1)

您必须像这样更改路径文件: Route::any('/editcomment', 'HomeController@editComment');因为你不需要在路由文件中发送ajax请求参数。

是的,你的控制器方法editComment改变如下:

    public function editComment(){
         if(Request::ajax()) {
                return Input::all();
           }
}

我们必须检查ajax呼叫请求的内容。

答案 2 :(得分:0)

尝试, btn.tag=indexPath.row; [ btn addTarget:self action:@selector(change:) forControlEvents:UIControlEventTouchUpInside ]; - (void) change:(id)sender { NSLog(@"%d", sender.tag); } $_GET['newComment']。这将有效。

谢谢:)