使用CodeIgniter在jQuery中访问PHP变量

问题描述 投票:0回答:3

我在控制器中定义了以下内容:

$data['is_amazon'] = $product->is_amazon;
$data['is_ebay']   = $product->is_ebay;

在控制器的正下方,我正在调用.js文件(jQuery)。

$this->template->add_js('js/is_ebay_amazon_prouct_edit.js');

我想在我的jQuery脚本中访问这些php变量,我尝试过这种方法:

var amazon = '<?php echo $is_amazon; ?>';
var ebay = '<?php echo $is_ebay; ?>';


jQuery(document).ready(function($) {

    alert(amazon);
    //alert(ebay);

});

虽然这只是在警报中显示我的物理文本,但是:

<?php echo $is_ebay; ?>

在我的jQuery中可以访问这些变量的最佳方法是什么?

php jquery codeigniter
3个回答
3
投票

试试这个

做一件事......你需要在视图中创建两个输入隐藏字段。像这样

<input type='hidden' id="amazon" value="<?php echo $is_amazon; ?>" />
<input type='hidden' id="ebay" value="<?php echo $is_ebay; ?>" />

并在您的查询中调用该值

$(document).ready(function() {

    //alert($('#amazon').val()+" "+$('#ebay').val());   

     console.log("amazon"+$('#amazon').val());
     console.log("ebay"+$('#ebay').val());    
});

现在它适用于你..试试吧。


0
投票

没有选项直接将php变量分配给javascript。要做到这一点,你需要指定它分配给html元素,如,

<input type="hidden" id ="amazon" value="<?php echo $is_amazon; ?>">

我们可以使用此代码从此html元素中获取jquery中的值,

var amazon = $('#amazon').val();

出于安全原因,php变量无法分配给javascript变量。


0
投票

试试这个

<input type="hidden" id="fromAmazon" value="<?php echo $is_amazon ?>"/>
<input type="hidden" id="fromEbay" value="<?php echo $is_ebay ?>"/>

在jquery中加载jquery.js文件后

jQuery(document).ready(function($) {

    var amazon = $("#fromAmazon").val();
    var ebay = $("#fromEbay").val();

    console.log("amazon",amazon);
    console.log("ebay",ebay);

});
© www.soinside.com 2019 - 2024. All rights reserved.