如何将javascript变量传递给site_url的参数值?

如何将javascript变量传递给site_url的参数值?,javascript,php,codeigniter,codeigniter-3,Javascript,Php,Codeigniter,Codeigniter 3,我想做一个ajax调用: function loadView(url_, target, pk, json_extra_data) { var ret = ""; if (isNaN(pk) == false && typeof(pk) !== "boolean" && $.trim(pk) != "" && pk > 0) { if (target == "MN") { ret = $.ajax({

我想做一个ajax调用:

function loadView(url_, target, pk, json_extra_data) {

  var ret = "";

  if (isNaN(pk) == false && typeof(pk) !== "boolean" && $.trim(pk) != "" && pk > 0) {

    if (target == "MN") {

      ret = $.ajax({
        data: json_extra_data,
        type: "POST",
        url: "<?php echo site_url('meeting/modif'); ?>/" + pk,
        async: false
      }).responseText;

    } else if (target == "EQ") {

      ret = $.ajax({
        data: json_extra_data,
        type: "POST",
        url: "<?php echo site_url('enquete/questionnaire'); ?>/" + pk,
        async: false
      }).responseText;

    }

  }

  return ret;

}
函数加载视图(url、目标、pk、json、额外数据){
var ret=“”;
如果(isNaN(主键)=false&&typeof(主键)!=“boolean”&&&$.trim(主键)!=”&&pk>0){
如果(目标==“MN”){
ret=$.ajax({
数据:json_额外_数据,
类型:“POST”,
url:“/”+pk,
异步:false
}).responseText;
}否则如果(目标==“EQ”){
ret=$.ajax({
数据:json_额外_数据,
类型:“POST”,
url:“/”+pk,
异步:false
}).responseText;
}
}
返回ret;
}

那么,如何将javascript变量
url
作为
site\u url
的参数值?

您不能在JS文件中调用PHP。我建议您在head标记上创建一个全局JS变量,该变量将包含您需要的必要信息,并在JS文件中调用

您的代码应该大致如下所示

<html>
    <head>
        <script type="text/javascript">
            var site_url_questionaire = <?php echo site_url('enquete/questionnaire'); ?>;
        </script>
        <script src="some_js_file.js" type="text/javascript">
    </head>
</html>

变量站点url问卷=;

如果你需要澄清,请告诉我。谢谢

如果有外部JS文件,则必须像下面这样声明全局变量 例如:

<script type="text/javascript" src="<?php echo base_url('assets/customjs/custom.js')?>"></script>
<script>
    var base_url = "<?php echo base_url();?>";
    var current_url = "<?php echo current_url();?>";
   </script>

您是否试图从JavaScript调用PHP函数?是的,事实上这是一个不可能的Codeigniter函数(PHP)。PHP在服务器上运行,只有这样JS才能用于客户端。将您的
site\uURL
函数移植到JS,或者进行另一个AJAX调用以生成所需的值。实际上,您可以将Apache服务器设置为允许PHP解析任何(扩展名)文件。但我宁愿坚持建议的解决方案。谢谢你的意见。这对我们来说是一个额外的选择。