首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拉勒维尔和阿贾克斯

拉勒维尔和阿贾克斯
EN

Stack Overflow用户
提问于 2017-09-08 15:18:46
回答 4查看 2.5K关注 0票数 0

我想在我的laravel项目中使用ajax方法,我已经为它定义了一个路由:

代码语言:javascript
运行
复制
Route::get('/ajax/get_discount_code','SomeController@some_method');

所以我使用jQuery的get函数:

代码语言:javascript
运行
复制
$('#button').click(function () {
    var url = '/ajax/get_discount_code';
    $.get( url , function( data ) {
      console.log(data);
    });
 });

我得到了以下错误:

获取代码 404 (未找到)

原因是,它试图得到的是代码而不是代码

为了修复此错误,我可以更改javascript url变量并将其设置为:

代码语言:javascript
运行
复制
var url = '/myProject/public/ajax/validate_discount_code';

然后404 (未找到)错误将不再出现,而且它工作得很好,但我知道这不是修复此错误的好方法,因为我已经将'myProject/public‘硬编码到字符串中。

我的问题是,在这个示例中修复404未找到错误的最佳实践是什么?

EN

回答 4

Stack Overflow用户

发布于 2017-09-08 15:33:33

如果您安装了拉鲁特助手函数,您可以在Javascript中轻松地包含到路由的URL:

代码语言:javascript
运行
复制
$('#button').click(function () {
    var url = laroute.url('/ajax/get_discount_code'); // laroute.action('SomeController@some_method'); will also work
    $.get( url , function( data ) {
        console.log(data);
    });
});
票数 1
EN

Stack Overflow用户

发布于 2017-09-08 15:29:06

使用laravel url()函数来制作完整的url

代码语言:javascript
运行
复制
var url = "{{ url('/ajax/get_discount_code') }}";
票数 0
EN

Stack Overflow用户

发布于 2017-09-08 15:29:29

您可以在主刀片文件的头部添加一个全局变量,您可以在其中存储baseURL的值,如下所示:

代码语言:javascript
运行
复制
<head>
...
  <script type="text/javascript">
      var base_url = '{!! url('/') !!}';
  </script>
  //the rest of ur scripts
</head>

在您的脚本中,您可以调用变量base_url并将其与请求的url粘合,这样您就不需要担心它了,而且您还可以通过更改变量的值来更改base_url,整个站点都会正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46119716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档