Php 使用CodeIgniter和Ajax使用引导模式更新数据

Php 使用CodeIgniter和Ajax使用引导模式更新数据,php,html,jquery,ajax,codeigniter,Php,Html,Jquery,Ajax,Codeigniter,我试图弄明白为什么我不能从模式中的表单验证中获得警报警告或成功。首先,我只想更新数据库中的数据,然后它就可以工作了。现在我看不到警报是错误的还是正确的,提交后模式关闭,如何将echo json_encode传输到模式中的警报 视图:布局视图 $('login#u form')。在('submit',函数(事件){ event.preventDefault(); var Admin_id=$('#Admin_id').val(); var username=$('#username').val(

我试图弄明白为什么我不能从模式中的表单验证中获得警报警告或成功。首先,我只想更新数据库中的数据,然后它就可以工作了。现在我看不到警报是错误的还是正确的,提交后模式关闭,如何将echo json_encode传输到模式中的警报

视图:布局视图

$('login#u form')。在('submit',函数(事件){
event.preventDefault();
var Admin_id=$('#Admin_id').val();
var username=$('#username').val();
var email=$('#email').val();
var contact=$('#contact').val();
var hoax=$('#hoax').val();
var confirm=$('#confirm').val();
var date=$('#date').val();
$.ajax({
url:“”,
方法:“张贴”,
数据:{Admin_id:Admin_id,用户名:用户名,电子邮件:,
联系人:联系人,确认:确认,日期:日期,恶作剧:恶作剧},
数据类型:“json”,
成功:功能(数据){
if(data.result){
$(“#result”).html(“

输入不足”

”; }否则{ $(“#result”).html(“

配置文件已成功更新”

”; } //返回false; //event.preventDefault(); } }); 返回false; //event.preventDefault(); });

轮廓
&时代;

如果使用json作为数据类型,浏览器将始终等待json响应,因此在这里最好执行以下操作:

if($this->form_validation->run() == FALSE){
    echo json_encode(array("result" => false, "message" => "Failed"));
}else{
    echo json_encode(array("result" => true, "message" => "Success!"));
}
您可以使用以下方法在ajax端检查结果:

$('#login_form').on('submit', function( event ){
  event.preventDefault();
  var Admin_id = $('#Admin_id').val();
  var username = $('#username').val();
  var email    = $('#email').val();
  var contact  = $('#contact').val();
  var hoax     = $('#hoax').val();
  var confirm  = $('#confirm').val();
  var date     = $('#date').val();

  $.ajax({
      url: "<?php echo base_url('profile/profile_update'); ?>",
      method: "POST",
      data: {Admin_id:Admin_id, username:username, email:email, 
      contact:contact, confirm:confirm, date:date, hoax:hoax},
      dataType: "json",
      success: function(data){
          if(data.result){
                  $('#adminId').val("");
                  $('#username').val("");
                  $('#email').val("");
                  $('#contact').val("");
                  $('#hoax').val("");
                  $('#confirm').val("");
                  $('#date').val("");
              $('#result').html('<p class="alert-success"> ' + data.message + ' </p>');
          }else{
              $('#result').html('<p class="alert-warning"> ' + data.message + ' </p>'); 
          }
          //return false;
          //event.preventDefault();
      }
  });
  return false;
  //event.preventDefault();
});
$('login#u form')。在('submit',函数(事件){
event.preventDefault();
var Admin_id=$('#Admin_id').val();
var username=$('#username').val();
var email=$('#email').val();
var contact=$('#contact').val();
var hoax=$('#hoax').val();
var confirm=$('#confirm').val();
var date=$('#date').val();
$.ajax({
url:“”,
方法:“张贴”,
数据:{Admin_id:Admin_id,用户名:用户名,电子邮件:,
联系人:联系人,确认:确认,日期:日期,恶作剧:恶作剧},
数据类型:“json”,
成功:功能(数据){
if(data.result){
$('#adminId').val(“”);
$('#username').val(“”);
$('#email').val(“”);
$('#contact').val(“”);
$('恶作剧').val(“”);
$('确认').val(“”);
$('日期').val(“”);
$('#result').html('

'+data.message+'

'); }否则{ $('#result').html('

'+data.message+'

'); } //返回false; //event.preventDefault(); } }); 返回false; //event.preventDefault(); });
您好,我很感谢您的回答,即使我尝试了您的建议,但没有发出警报。我尝试删除2$output并将其更改为echo,但页面已重定向为纯白色。您需要更改json中的success函数以匹配响应,此外,您还需要为数组添加一些额外的文本以在html中回显它,我已经更新了代码以匹配您的请求是的,如果数组('profile_errors'=>validation_errors());基于每个输入名称,然后不只是添加html警告或错误,您可以使用输入名称在响应失败时向每个输入添加错误语句,如:$(“input[name='username'])。addClass(“has error”);是的,它工作了…但问题是..在我进行更改后,当我单击它时,它仍然存在。我知道它工作了,因为我将$output更改为echo,并将我重定向到一个普通页面,然后我找到了json数组