首页 > 解决方案 > Ajax success() 函数在 jQuery on 函数中不起作用

问题描述

我正在编写一个带有 ajax 函数的 jquery 代码,以在下拉更改时获取数据表单数据库。

但是 ajax 函数看起来没有执行,当我使用 chrome 浏览器检查代码时,它没有给出任何错误消息内部成功函数。

这是我的代码

$(document).ready(function() {
  $('#prov_id').on('change', function() {
    alert($('#prov_id').val());
    $.ajax({
      type: 'POST',
      url: 'ajax_queries.php',
      data: {
        request: 'get_states',
        prov_id: $('#prov_id').val()
      },
      success: function(data) {
        alert(data);
      }
    });
  });
});

此警报有效

alert($('#prov_id').val());

但这不是

success: function(data){
  alert(data);
}

有什么帮助吗?

标签: javascriptjquery

解决方案


dataType:'json'在您的 ajax 请求中设置:

<script>
$(document).ready(function(){

   $('#prov_id').on('change',function(){
    $.ajax({
      type: 'POST',
      url: 'ajax_queries.php',
      dataType:'json',
      data: {request:'get_states',prov_id:$('#prov_id').val()},
      success: function(data){
          alert(data);
      },
      error:function(){
       alert('Error :(');
      }    
    });
  });

});
</script>

推荐阅读