使用ajax的控制器方法调用

时间:2019-04-04 07:29:16

标签: ajax codeigniter

我正在使用codeigniter框架。我试图在下拉更改事件中使用AJAX函数调用来调用控制器方法。我的代码是:

$(document).ready(function() {
  $("body").on('change', '#assettype_id', function(e) {
    var categoryval = $('#assettype_id :selected').val();
    // assettype_id is dropdown id. On change event of 
    // dropdown, controller method will be called

    myurl = 'http://mylocalsite/index.php/controllername/controllermethod/' + $.now();

    alert("category id = " + categoryval); // for testing
    $.ajax({
      cache: false,
      type: 'POST',
      data: {
        id: categoryval
      },
      url: myurl,
      dataType: 'html',
      success: function(data1) {
        alert("inside ajax call"); // for testing
        $('#result').html("");
        // result is a div tag used to display result//
        $("#result").html(data1);
      },
      error: function(jqXHR, textStatus, errorThrown) {
        alert('error');
      },
      complete: function(xhr, status) {
        alert("The request is complete!");
      }
    });
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

此代码对于最初的2或3个下拉更改事件并获得新的输出是完美的,但是从下拉菜单中进行2或3个选择之后,不会像AJAX方法不起作用那样获得新结果。

我放置了2条警报进行检查。消息“类别ID =”的alert在下拉菜单的每次更改事件上都被调用,但是经过2或3个下拉菜单选择后,即使消息alert仍未显示到错误部分,但消息“内部ajax调用”却未显示AJAX通话。

我想知道这里出了什么问题?谢谢您的帮助。

0 个答案:

没有答案