【问题标题】:jQuery .ajax Syntax error, unrecognized expressionjQuery .ajax 语法错误,无法识别的表达式
【发布时间】:2017-02-12 02:11:33
【问题描述】:

我正在尝试通过 .ajax 调用检索数据并将响应 html 代码添加到引导模式正文。但我一直收到这个错误:

jquery-3.1.0.min.js:2 未捕获的错误:语法错误,无法识别的表达式:http://localhost/menu/create

实际上我确实收到了所需的数据作为响应,但是由于这个错误,数据无法显示在模态窗口上。

这是我的代码。当我单击一个链接时,ajax 调用会返回一个 html 表单并将其插入到模态正文中。然后显示模态窗口。

<a href="{{route('menu.create')}}" class="btn btn-default pull-right show-new-menu-item-modal" data-toggle="modal">New Menu Item</a>

$('body').on('click', '.show-new-menu-item-modal', function(event) {
event.preventDefault();
 $.ajax({
        url: $(this).attr('href'),
        dataType: 'html',
        success: function(response) {
            $("#new-menu-item-body").html(response);
        }
    });
    $('#new-menu-item-modal').modal('show');
});

我已经在谷歌上搜索并更改了几个小时的代码,但仍然没有运气。如果有人能给我一些想法,我将不胜感激。提前致谢!

【问题讨论】:

  • 尝试在 ajax 调用结束时添加 return false

标签: jquery ajax twitter-bootstrap laravel


【解决方案1】:

我怀疑这是由于引导程序以及您在元素上设置了 data-toggle="modal" 的事实。

尝试删除它。您正在自己初始化模态。

我认为正在发生的事情是因为您没有使用与 data-toggle 相关联所需的 data-target 它正在尝试使用 href 作为模态 ID 的 jQuery 选择器,这会抛出如果你这样做了,你会看到错误

【讨论】:

    【解决方案2】:

    @charlietfl 是对的,你不能阻止对模态的默认操作,如果你这样做,它根本不会打开,检查 Bootstrap 文档中调用模态的 javascript 方式,它有一个修复,你可以用来制作你想要的东西,查看这个网址:http://getbootstrap.com/javascript/

    希望你解决

    最好的!

    【讨论】:

      【解决方案3】:

      如果您没有 Bootstrap 模型并且遇到语法错误,请确保返回的 HTML 在第一个 DOM 节点之前没有空格。

      【讨论】:

        猜你喜欢
        • 2013-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多