如何将 javascript 变量放入 url() 函数中?

How to put javascript variable inside url() function?

我已经在我的代码中纠结了几个小时,但没有找到将 javascript 变量放入 laravel url() 的正确方法。每当我将变量作为参数放在 url() 中时,该变量都会被视为字符串。下面是我的代码。请帮忙。

javascript 文件

function generateSchedule( id, loan_type ){

          var txt_url;           

          if( loan_type == "Business" ){
            txt_url = 'addamortbusinessloan'; 
          }else{
            txt_url = 'addamortization';
          }


          $.post('{{ url("'+txt_url+'") }}', {'loanId':id}, function(data){


       },"json");

    }

这不起作用{{ url("'+txt_url+'") }}。我一直在扭曲引号的位置,但一点运气都没有。结果是 http://localhost:8000/txt_url。我希望它像这样 http://localhost:8000/addamortbusinessloanhttp://localhost:8000/addamortization

function generateSchedule( id, loan_type ){

    var txt_url;

    if( loan_type == "Business" ){
        txt_url = '/addamortbusinessloan';
    }else{
        txt_url = '/addamortization';
    }

    var url = "{{ url('') }}" + txt_url;

    console.log(url);

    $.post(url, {'loanId':id}, function(data){


    },"json");

}

你不需要把它放在逗号中它没有逗号也能正常工作。检查这个

function generateSchedule( id, loan_type ){

          var txt_url;           

          if( loan_type == "Business" ){
            txt_url = "addamortbusinessloan"; 
          }else{
            txt_url = "addamortization";
          }

        var base_url="http://localhost:8000/"

        $.post( base_url+txt_url, {'loanId':id}, function( data ) {

         }, "json");

    }

使用此 blade 指令以简单的方式将变量导出到 JS:spatie/laravel-blade-javascript

实际上你不能,但如果你需要,你可以像这样在你的 app.blade 文件中定义全局变量

var BASE_URL='{{url('')}}'
</script>

或者您可以通过另一种方式在 head 的元标记中定义它,如下所示: 在您的 javascript 文件中,您可以通过 jquery 获取它 $('meta[name=base_url]').attr('content')