【发布时间】:2019-02-11 09:24:19
【问题描述】:
我的 PHP 和 jQuery 代码出现如下错误:
jQuery:
$('#form').submit(function(e){
e.preventDefault();
var me = $(this);
var data = me.serialize();
$.ajax({
method :'POST',
url:me.attr('action'),
data:{data},
dataType:'json',
async:false,
success:function(data){
alert(data.success);
if(data.success == true){
alert('true');
}
else{
alert('false');
}
}
});
});
HTML 表单:
<?= form_open('practice/check', array('id'=>'form'))?>
<input type="text" name="username">
<input type="password" name="password">
<button type="submit" name="button" id="submit">click</button>
<?= form_close();?>
PHP 控制器:
public function check(){
$this->load->library('form_validation');
$data= array('success'=>false, 'message'=>array());
$this->form_validation->set_rules('username','Username','trim|required');
$this->form_validation->set_rules('password','Password','required');
if($this->form_validation->run() == false){
foreach ($_POST as $key => $value) {
$data['message'][$key] = form_error($key);
}
}
else{
$data['success'] = true;
}
echo json_encode($data);
}
当 jquery 代码中发生警报事件时,即使字段已填满,也总是错误返回..请帮助我并提前感谢..
【问题讨论】:
-
与您的问题无关,但请不要使用
async:false。这在您的代码中不是必需的,但它会在请求发生时冻结浏览器的 UI,从而造成糟糕的用户体验。它现在在大多数浏览器中也已被弃用,无论如何它都会在某个时候停止工作。 -
这里输入错误..
-
请提出解决方案
-
我已经在下面发了答案,你可以看看
-
答案对您有帮助吗?如果是这样,请记住将其标记为“已接受”。如果它没有帮助,请添加评论,也许我们可以修复它。谢谢。
标签: php jquery ajax codeigniter serialization