javascript - 如何将 View 内的javascript变量传递给php中的 Controller

标签 javascript php html ajax codeigniter

我需要将变量值从javascript 传递到 Controller 。在html中通过select option获取value,javascript代码在view内部。我已经编写了代码,但它只是向 HTML 显示我选择的值,它没有存储在 php 变量中。

这是我的 javascript 代码:

$('#button-search-ohr').on('click', function() {
    var month = $('#monthChoose').val();

    if(month == 0) {
        alert('Month must be choosen!');
    }

    $.ajax({
        async   : true,
        type    : 'POST',
        url     : '<?php echo base_url();?>sms/lapkinerjastat', //this url to controller
        data    : {month:month},
        success : function(data) {
            $('#month').html(data);
        }
    });
}

这是我的html:

<h5 class="pilih-bulan">Month Choose
     <select id="monthChoose" name="month">
          <option value="0">Pilih bulan</option>
          <option value="Januari">Januari</option>
          <option value="Februari">Februari</option>
          <option value="Maret">Maret</option>
          <option value="April">April</option>
          <option value="Mei">Mei</option>
          <option value="Juni">Juni</option>
          <option value="Juli">Juli</option>
          <option value="Agustus">Agustus</option>
          <option value="September">September</option>
          <option value="Oktober">Oktober</option>
          <option value="November">November</option>
          <option value="Desember">Desember</option>
     </select>
     <button id="button-search-ohr" type="submit">Search</button>
</h5>

<div id='month'>
    <?php 
    if(isset($_POST['month'])) {
        $month = $_POST['month'];
        echo 'This is '.$month;
    }else {
        $month = null;
        echo 'Nothing';
    }?>
</div>

Note : It'll be better with ajax to pass variable to controller.

最佳答案

在您的代码中,您两次使用变量 month 的值,而不是将“month”定义为 $_POST 全局变量名称:

data    : {month:month},

解析后,如果选择的月份是四月,则结果为:

data    : {April:April},

当你真正想要拥有的时候

data    : {month:April},

因此我建议更改您的代码并将变量名用引号引起来:

data    : {'month':month},

这样 PHP 脚本实际上就会有一个 $_POST['month'] 来处理 ;)

关于javascript - 如何将 View 内的javascript变量传递给php中的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52471803/

相关文章:

javascript - 带文本装饰的 FORM 提交按钮 :underline via JS?

javascript - 如何在javascript中制作表格

spring - 将 HTML5 占位符属性添加到 Spring 3.0 表单输入元素

jquery - 使用 jquery 在图像之间进行转换

python - 只从 HTML 文件中获取脚本

Javascript/Jquery,禁用网页正文中任何位置的所有双击?

javascript - noUiSlider:调整舍入输入值

php - 适用于写读密集型站点的良好 NoSQL 数据库

php - 无法使用 Google 云端硬盘让本地主机在 WAMP 上工作

PHP $_GET 变量检查