如何在js文件中调用base_url

时间:2015-02-04 15:54:20

标签: jquery codeigniter

我想在js文件中调用base_url(),因为我想在jquery中调用ajax

我的php文件

$.ajax({
        url: '<?php echo site_url('home/update');?>',
        data: {
        email:email 
        },
        type: "POST",
        success: function(data) {
            $('#feedback').text(data).css('color','green');
        },

        });       
         } 
        else
        {
            $('#feedback').text('insert a valid email').css('color','red');
        }

        });

但我想调用js文件但我很困惑如何解决这个问题 因为我们不能在js文件中调用标签

3 个答案:

答案 0 :(得分:1)

<script>
    var base_url = '<?php echo base_url(); ?>';
</script>
  • 将以上代码写入header.php文件
  • 然后在你想要的所有js文件中使用'base_url'变量..

    $.ajax({
    url: base_url+'home/update');?>',
    data: {
    email:email 
    },
    type: "POST",
    success: function(data) {
        $('#feedback').text(data).css('color','green');
    },
    
    });       
     } 
    else
    {
        $('#feedback').text('insert a valid email').css('color','red');
    }
    
    });
    

答案 1 :(得分:0)

不会为服务器端代码解析JS文件。如果要向函数提供数据,请将其作为数据属性添加到引发事件的元素上,然后使用$(this).data('foo');在JS中读取它,如下所示:

<button id="foo" data-action="<?php echo site_url('home/update');?>" data-email="<?php echo $email; ?>">Update</button>
$('#foo').click(function() {
    $.ajax({
        url: $(this).data('action'),
        data: { email: $(this).data('email') },
        type: "POST",
        success: function(data) {
            $('#feedback').text(data).css('color','green');
        },
    });   
});

答案 2 :(得分:0)

还有一个解决方案定义

<script>
 var base_url=<?php echo base_url();?>
</script>
在你的php文件中

并在你的js文件中使用它。