Laravel5.6& AJAX:可以使用{{}}表达式作为jQuery.load()参数吗?

时间:2018-02-12 03:57:54

标签: javascript php jquery ajax laravel

当我在下面看到示例时,我得出结论,可以在刀片模板中使用{{ }}表达式。

$.ajax({
  type: "POST",
  url : "{{ url('/api/login') }}",
  contentType: 'application/json',
  dataType: 'json',
  data: JSON.stringify({
    user   : user,
    passwd : passwd
  })
  :
});

我想如果laravel理解{{ url('') }},它会理解{{route()}}并在下面创建请求:

changeFragment(newFragment){

    let fragmentUrn = '{{ route( "admin.GetFragmentViaAjax", ["fragment" => "requests_all"]) }}';

    this.$MainContent.load(fragmentUrn, (response, status, xhr) => {
        status === 'success' ?  resolve() : reject(xhr);
    });
}

我在控制台中遇到以下错误:

enter image description here

在AJAX请求中真的可以使用{{}}吗?

2 个答案:

答案 0 :(得分:0)

试试:

JavaScript的:

function changeFragment(newFragment){
    let fragmentUrn = "{{ route('GetFragmentViaAjax', ['fragment' => 'statistic_top'])}}"
$(".MainContent").load(fragmentUrn);

}

答案 1 :(得分:0)

linktoahref明白我的第一个例子是直接在刀片视图中编写的js代码的一部分。通常,这不是一个好习惯,因此通常不可能在JavaScript中使用{{ }}和其他laravel工具。