【问题标题】:JavaScript, Ajax - Why Ajax's function on JavaScript's code can't run properly?JavaScript, Ajax - 为什么 JavaScript 代码上的 Ajax 函数不能正常运行?
【发布时间】:2017-10-22 18:18:13
【问题描述】:

印度尼西亚的各位早上好。

我有一些带有 Codeigniter 框架的网络项目。 我有一些字段集用于插入一些带有单选按钮的值输入标签。 我为每个字段集使用了一些向导函数。 在每个向导的末尾,我们都有一些按钮。 我们在这个按钮上添加了一些 javaScript 函数。 在 javaScript 函数中,我们添加了一些 Ajax 函数。 Ajax 函数可以将一些值从“视图”发送到“控制器”。 之后,在“控制器”上,我们将带有“模型”的数据保存到数据库中。

问题是,为什么我以前做的ajax函数不能将数据保存到数据库?

这是“视图”(javascript 和 ajax)

function prosesFieldset1(){
        var radios = document.getElementsByName('f3');
        for (var r=0, length = radios.length;  r < length; r++){
            if(radios[r].checked){
                var dataf3 = radios[r].value;
                if (dataf3 == 1 || dataf3 == 2 ){
                    _('fieldset1').style.display = 'none';
                    _('fieldset2').style.display = 'block';
                    _('progressBar').value = 25;
                }else{
                    _('fieldset1').style.display = 'none';
                    _('fieldset3').style.display = 'block';
                    _('progressBar').value = 25;
                }
            }
        }
        var f3 = dataf3;
        $.ajax({
            url     : "<?php echo site_url('TracerStudy/masuk_data_ts');?>",
            type    : 'post',
            data    : {'f3' : f3, 'proses' : 1},
            success : function(data){
                console.log(data);
            },
        });
    }

这是“控制器”,用于从“视图”上的 Ajax 获取数据以将它们恢复到新变量并将它们保存到数据库 (TracerStudy/masuk_data_ts)

public function masuk_data_ts(){
$f3 = $this->input->post('f3');
$proses = $this->input->post('proses');

if($proses == 1){
  $id_alumni = $this->session->userdata('id_alumni');
  $udah = $this->TracerStudy_model->get_data_ts($id_alumni);
  if($udah = 1 ){
    $data = array(
      'id_alumni_fk' => $this->session->userdata('id_alumni'),
      'f3' => $f3
    );
    // $proses = 0;
    $this->TracerStudy_model->update_data_ts($data);
  }
  else{
    $data = array(
      'id_alumni_fk' => $this->session->userdata('id_alumni'),
      'f3' => $f3,
      'status' => $proses
    );
    // $proses = 0;
    $this->TracerStudy_model->simpan_data_ts($data);
  }
}

这是将数据保存到数据库中的“模型”(TracerStudy_model/simpan_data_ts)

  public function simpan_data_ts($data){
  $this->db->insert("tracer_study", $data);
}

感谢任何建议和解决此问题的方法。 谢谢大家,希望大家今天过得愉快。

【问题讨论】:

  • 作为实践,我建议您首先检查变量是否具有所需的值。它有助于检测问题的根源。
  • 我不懂 php,但有些东西告诉我 url 仍然无效。
  • 谢谢@Ukasyah,根据您的建议,我必须在哪一部分检查导致此问题的变量?
  • 谢谢@Darkrum,我想是的,也许ajax上的url会导致这个问题。
  • 如果它是由 url 引起的,也许这会有所帮助。 stackoverflow.com/questions/21246818/…

标签: javascript php jquery ajax codeigniter


【解决方案1】:
 $.ajax({
        url     : "<?php echo site_url('TracerStudy/masuk_data_ts');?>",
        type    : 'post',
        data    : {f3 : f3, proses : 1},
        success : function(data){
            console.log(data);
        },
    });

不要在数据中明智地使用 'f3' 、 'proses' 。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    相关资源
    最近更新 更多