2017-01-22 2 views
2

Я новичок в laravel. Я хочу создать api, используя laravel, используя ajax-вызов. Но я запрашиваю вызов ajax, url показывает неверный путь к серверу. Вот мой код
Мой файл Маршрут:Laravel Ajax call url to controller

Route::get("a/b","[email protected]"); 

Мой расслоение плотной файл:

var base = "public/index.php"; 
var url = base + "a/b"; 
$.ajax({ 
    url : url, 
    dataType: "json", 
    timeout: 10000, 
    error:function(){ alert("Error getting from server") } 
}).done(function(resp){ 

}); 

Пусть я в следующих сайтах:

domain.com/dev/lar/public/index.php/c/d 

Тогда я называю это Аякса, то url будет перенаправлен на

domain.com/dev/lar/public/index.php/c/public/index.php/a/b 

Здесь лар моя Laravel папка приложения

** Note I am using NGINX server. My Server Admin do not rewrite this url. That's why I use public/index.php ** 
+0

Попробуйте этот код маршрута :: получить ("/ A/B", "аСопЬгоНег @ C"); вместо Route :: get («a/b», «AController @ c»); –

+0

Этот маршрут не работает, потому что папка моего приложения представляет собой много подпапок после домена. ex-domain.com/dev/{laravel] – Alien

+0

Почему вы используете domain.com/dev/lar/public/index.php/c/d не domain.com/dev/lar/public/c/d. вы делаете index.php каталог, а не файл ??? –

ответ

1

Вы отсутствуют в заявлении регулятора. Сначала нужно использовать обратную косую черту. Например

Route::get("https://stackoverflow.com/a/b","[email protected]"); 

И в вашем АЯКС кода URL должен быть

var base = "domain.com/dev/lar/public/index.php"; 
var url = base + "https://stackoverflow.com/a/b"; 
+0

Я думаю, что проблема была в вашем базовом URL-адресе ajax. Я обновил код. попробуйте это –

+0

Вы правы. Я знал этот метод. но я не хочу исправлять свой базовый путь в моем коде. это плохая практика, чтобы исправить базовый URL-адрес в коде. Если я изменю свой домен, то я хочу изменить свой код – Alien