Javascript LaravelAjax调用控制器的url

Javascript LaravelAjax调用控制器的url,javascript,php,jquery,ajax,laravel-5,Javascript,Php,Jquery,Ajax,Laravel 5,我是新来的。我想使用laravel和ajax调用创建一个api。但我请求ajax调用,url显示无效的服务器路径。 这是我的代码 我的路线文件: Route::get("a/b","AController@c"); 我的js文件: var base = "public/index.php"; var url = base + "a/b"; $.ajax({ url : url, dataType: "json", timeout: 10000, error:function()

我是新来的。我想使用laravel和ajax调用创建一个api。但我请求ajax调用,url显示无效的服务器路径。 这是我的代码
我的路线文件:

Route::get("a/b","AController@c");
我的js文件:

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){

});
假设我在以下URL中:

domain.com/dev/lar/public/index.php/c/d
然后我调用这个ajax,然后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 **

控制器声明中缺少您。你必须先用反斜杠。比如说

Route::get("/a/b","AController@c");
在ajax代码中,url应该是

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

尝试以下代码路由::get(“/a/b”)AController@c"); 而不是Route::get(“a/b”AController@c");此路由将不起作用,因为我的应用程序文件夹在域之后有很多子文件夹。ex-domain.com/dev/{laravel app folder}为什么使用domain.com/dev/lar/public/index.php/c/d而不是domain.com/dev/lar/public/c/d。您将index.php设置为目录而不是文件???domain.com/dev/lar/public/c/d给出404错误。在给出domain.com/dev/lar/public/index.php/c/d之后,routes工作正常我认为问题出在ajax的基本url上。我已经更新了代码。试试这个你是对的。我知道这个方法。但我不想在代码中修复我的服务器基本路径。在代码中修复基本url路径是一种不好的做法。如果我更改了我的域,那么我想修改我的代码