为了账号安全,请及时绑定邮箱和手机立即绑定

无法获取通过提交处理程序中的 ajax 提交的表单文本字段的值

无法获取通过提交处理程序中的 ajax 提交的表单文本字段的值

PHP
幕布斯7119047 2023-04-28 16:29:33
我正在尝试获取通过 ajax 提交的文本框的值,但是当我尝试在控制器方法中获取它的值时,它什么也不返回。这是我的 AJAX 函数和控制器方法:  jQuery("#frm_xyz").validate({      rules: {          otp: {              required: true          },      ....      ....      submitHandler: function(form,event) {          event.preventDefault();          var from_url=jQuery(form).attr('action');          jQuery.ajax({              url: from_url,               type: "POST",                           data: new FormData(document.getElementById("frm_xyz")),              cache: false,                           processData: false,                    success: function(data) {              }          });      }  });HTML: <?php echo form_open('verify-verification-otp',array('id'=>"frm_xyz")); ?>      <input type="text" name="otp" placeholder="OTP" class="form-control" />     <br />       <input type="submit" name="submit" id="btn_verify_contact" class="btn btn-info" value="Verify OTP" />   <?php echo form_close(); ?>但是当我尝试在控制器中获取文本框的值时,我没有得到该值!PHP:public function verify_otp(){    $otp = $this->input->post('otp');    print_r($otp);    die();}
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

这可能是由于多种原因 -


将表单方法设置为POST-


<?php 

   echo form_open('verify-verification-otp',array('id'=>"frm_xyz", 'method'=>"POST"));

?>

在发送 formData 或 jquery 默认值时设置contentType为false将覆盖它。参考


 jQuery.ajax({

        url: from_url,

        type: "POST",

        data: new FormData(document.getElementById("frm_xyz")),

        cache: false,

        processData: false,

        contentType: false, 

        success: function(data) {

                 }

    })

您不需要 formData 因为您没有发送任何文件,只需使用 serialize就可以了。参考


jQuery.ajax({

    url: from_url,

    type: "POST",

    data: $('#frm_xyz').serialize(),

    cache: false,

    dataType: 'JSON',

    success: function(data) {

             }

})

看看它是否对你有帮助。


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信