2015-10-12 2 views
1

Я использую CodeIgniter уже более года (и он очень привык к нему), после чего выяснилось, что он устарел и поддержка была снята ellislab. Я хочу попробовать использовать Laravel в качестве альтернативы, хотя CodeIgniter все еще работает просто отлично, но для будущих целей я не хочу отставать. Теперь с MVC-структурой Laravel мне было легко перенести некоторые из моих проектов из CI. У меня проблема с маршрутизации Laravel, но как Я не могу связаться с моим контроллером. Вот немного моего кода:Как связаться с контроллером с помощью AJAX в 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 или я все еще очень CI нравом?

+0

какая версия laravel вы используете? вам нужно узнать, как использовать маршрут использования в laravel. –

+0

Я использую 4.2.11 @RomnickSusa, да, вот почему я пришел сюда: D –

+0

Laravel 4.2 имеет хорошую документацию для этого. Вы открыли этот http://laravel.com/docs/4.2/routing#basic-routing? –

ответ

0

Это мой способ соединиться с контроллером

Сначала настроить routes.php:

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

В приложении контроллера/контроллер/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 :: контроллер подхода.

+0

- это 'dash (-)' действительно необходимо? –

+0

Вы имеете в виду вот так? '$ .get ('localhost/connect', function (data) {' –

+0

Да, и не забывайте о капитализации. Вам нужно назвать свою функцию следующим образом: 'type type + имя верблюда'. –

Смежные вопросы