Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 laravel 5:当我将其从路由移动到控制器时,该功能不起作用_Php_Ajax_Model View Controller_Controller_Laravel 5 - Fatal编程技术网

Php laravel 5:当我将其从路由移动到控制器时,该功能不起作用

Php laravel 5:当我将其从路由移动到控制器时,该功能不起作用,php,ajax,model-view-controller,controller,laravel-5,Php,Ajax,Model View Controller,Controller,Laravel 5,我尝试在使用laravel 5的项目中使用ajax,但只有当我将此函数放在routes文件中时,它才会起作用: Route::post('/post/post_up',function(){ if (Request::ajax()){ $raa=Input::get('_user');

我尝试在使用laravel 5的项目中使用ajax,但只有当我将此函数放在routes文件中时,它才会起作用:

Route::post('/post/post_up',function(){
                                        if (Request::ajax()){
                                            $raa=Input::get('_user');
                                            if ($raa=='null') {
                                                return 'Vous devez connecter';
                                            }else{
                                            $already_vote = \App\Post_vote::where('user_id','=',Input::get('_user'))->where('post_id','=',Input::get('_post'))->count();
                                                if ($already_vote==0) {
                                                    $post = new \App\Post_vote;
                                                    $post->post_id=Input::get('_post');
                                                    $post->user_id=Input::get('_user');
                                                    $post->vote=1;
                                                    $post->save();
                                                    return 'Votre vote bien enregistre';
                                                }else{
                                                    return 'Vous avez déja voté pour ce sujet !';
                                                }
                                            }
                                        }
                                    });
Route::post('/post/post_up','VoteController@post_up');
<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class VoteController extends Controller {

public function post_up()
{   
    if (Request::ajax()){
        $raa=Input::get('_user');
        if ($raa=='null') {
            return 'Vous devez connecter';
        }else{
        $already_vote = \App\Post_vote::where('user_id','=',Input::get('_user'))->where('post_id','=',Input::get('_post'))->count();
            if ($already_vote==0) {
                $post = new \App\Post_vote;
                $post->post_id=Input::get('_post');
                $post->user_id=Input::get('_user');
                $post->vote=1;
                $post->save();
                return 'Votre vote bien enregistre';
            }else{
                return 'Vous avez déja voté pour ce sujet !';
            }
        }
    }
}

}
但是当我尝试将此函数从routes.php移动到我的控制器时,它不起作用,我不知道为什么它在routes.php上起作用,在我的控制器上也不起作用。我就是这么做的:

Route::post('/post/post_up',function(){
                                        if (Request::ajax()){
                                            $raa=Input::get('_user');
                                            if ($raa=='null') {
                                                return 'Vous devez connecter';
                                            }else{
                                            $already_vote = \App\Post_vote::where('user_id','=',Input::get('_user'))->where('post_id','=',Input::get('_post'))->count();
                                                if ($already_vote==0) {
                                                    $post = new \App\Post_vote;
                                                    $post->post_id=Input::get('_post');
                                                    $post->user_id=Input::get('_user');
                                                    $post->vote=1;
                                                    $post->save();
                                                    return 'Votre vote bien enregistre';
                                                }else{
                                                    return 'Vous avez déja voté pour ce sujet !';
                                                }
                                            }
                                        }
                                    });
Route::post('/post/post_up','VoteController@post_up');
<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class VoteController extends Controller {

public function post_up()
{   
    if (Request::ajax()){
        $raa=Input::get('_user');
        if ($raa=='null') {
            return 'Vous devez connecter';
        }else{
        $already_vote = \App\Post_vote::where('user_id','=',Input::get('_user'))->where('post_id','=',Input::get('_post'))->count();
            if ($already_vote==0) {
                $post = new \App\Post_vote;
                $post->post_id=Input::get('_post');
                $post->user_id=Input::get('_user');
                $post->vote=1;
                $post->save();
                return 'Votre vote bien enregistre';
            }else{
                return 'Vous avez déja voté pour ce sujet !';
            }
        }
    }
}

}
1。On Routes.php:

Route::post('/post/post_up',function(){
                                        if (Request::ajax()){
                                            $raa=Input::get('_user');
                                            if ($raa=='null') {
                                                return 'Vous devez connecter';
                                            }else{
                                            $already_vote = \App\Post_vote::where('user_id','=',Input::get('_user'))->where('post_id','=',Input::get('_post'))->count();
                                                if ($already_vote==0) {
                                                    $post = new \App\Post_vote;
                                                    $post->post_id=Input::get('_post');
                                                    $post->user_id=Input::get('_user');
                                                    $post->vote=1;
                                                    $post->save();
                                                    return 'Votre vote bien enregistre';
                                                }else{
                                                    return 'Vous avez déja voté pour ce sujet !';
                                                }
                                            }
                                        }
                                    });
Route::post('/post/post_up','VoteController@post_up');
<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class VoteController extends Controller {

public function post_up()
{   
    if (Request::ajax()){
        $raa=Input::get('_user');
        if ($raa=='null') {
            return 'Vous devez connecter';
        }else{
        $already_vote = \App\Post_vote::where('user_id','=',Input::get('_user'))->where('post_id','=',Input::get('_post'))->count();
            if ($already_vote==0) {
                $post = new \App\Post_vote;
                $post->post_id=Input::get('_post');
                $post->user_id=Input::get('_user');
                $post->vote=1;
                $post->save();
                return 'Votre vote bien enregistre';
            }else{
                return 'Vous avez déja voté pour ce sujet !';
            }
        }
    }
}

}
2。php:

Route::post('/post/post_up',function(){
                                        if (Request::ajax()){
                                            $raa=Input::get('_user');
                                            if ($raa=='null') {
                                                return 'Vous devez connecter';
                                            }else{
                                            $already_vote = \App\Post_vote::where('user_id','=',Input::get('_user'))->where('post_id','=',Input::get('_post'))->count();
                                                if ($already_vote==0) {
                                                    $post = new \App\Post_vote;
                                                    $post->post_id=Input::get('_post');
                                                    $post->user_id=Input::get('_user');
                                                    $post->vote=1;
                                                    $post->save();
                                                    return 'Votre vote bien enregistre';
                                                }else{
                                                    return 'Vous avez déja voté pour ce sujet !';
                                                }
                                            }
                                        }
                                    });
Route::post('/post/post_up','VoteController@post_up');
<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class VoteController extends Controller {

public function post_up()
{   
    if (Request::ajax()){
        $raa=Input::get('_user');
        if ($raa=='null') {
            return 'Vous devez connecter';
        }else{
        $already_vote = \App\Post_vote::where('user_id','=',Input::get('_user'))->where('post_id','=',Input::get('_post'))->count();
            if ($already_vote==0) {
                $post = new \App\Post_vote;
                $post->post_id=Input::get('_post');
                $post->user_id=Input::get('_user');
                $post->vote=1;
                $post->save();
                return 'Votre vote bien enregistre';
            }else{
                return 'Vous avez déja voté pour ce sujet !';
            }
        }
    }
}

}

您必须在ajax url参数中传递正确的url

$(document).ready(function(){
    //pour vote up
    $('#post_up').submit(function(e){
        e.preventDefault();
        var _post = $('#_post').val();
        var _user = $('#_user').val();
        var _token = $('input[name="_token"]').val();
        var data = new FormData();
        data.append('_token',_token);
        data.append('_user',_user);
        data.append('_post',_post);

        $.ajax({
            type:"POST",
            method:"POST",
            url:"/post/post_up",
            data:data,
            processData: false,
            contentType: false,
            success: function(data){
                alert(data);
            }
        });
    }); });