如何在Laravel中使用AJAX与控制器通信?

时间:2015-10-12 03:09:37

标签: php ajax laravel

我现在使用 CodeIgniter 超过一年(并且已经习惯了)然后发现它已经过时并且支持已被ellislab取消< / em>的。我想尝试使用 Laravel 作为替代,但 CodeIgniter仍然可以正常工作但是为了将来的目的,我不想被遗忘。现在,使用Laravel的MVC框架,我很容易从CI迁移我的一些项目。我在使用Laravel的路由时遇到了问题,因为我无法与我的控制器进行通信。这是我的一些代码:

controller.php

public function connect() {
    $this->load->model('home_model');
    if ($DBconnect=$this->home_model->checkConnection()) {
        echo json_encode(array(
            "success" => true,
            "db_connect" => $DBconnect
        ));
    } else {
        echo json_encode(array(
            "success" => false,
            "db_connect" => $DBconnect
        ));
    }
}

view.js

    $("#connection").click(function(e) {
        e.preventDefault();
        show_loading();
        $.get('./home/connect', function(data) {
            hide_loading();
            Materialize.toast(data.db_connect, 4000, 'rounded green');
        }, "json");
    });

PS: 我是在做Laravel的方式,还是我仍然非常聪明?

1 个答案:

答案 0 :(得分:0)

这是我与控制器连接的方法

首先设置routes.php:

Route::controller('/','MyController');

在控制器app / controller / MyController.php上(你需要创建一个):

<?php

class MyController extends BaseController {
    public function getJustASampleText(){
        echo "Hello World";
    }
    public function getJustASampleSmile(){
        echo ":D";
    }
    public function getConnect(){
        $var_value = "Hello world";
        return Response::json(array('var_name' => $var_value));
    }
}

然后你可以像这样调用那个函数

domain.com/just-a-sample-text

domain.com/just-a-sample-smile或在你的情况下

$.get(`http://127.0.0.1/laravel/public/connect`,function(data){
    alert(data.var_name);
})

我们如何使用Route :: controller方法。