Php Codeigniter,AJAX-Chrome中的控制台显示错误响应
我正在尝试提交一个音乐上传表单,从另一个页面获取输入字段的数据。我只想做一件简单的事情:如果我删除其中一个必填字段,我希望控制台显示表单错误 这是视图(upload.php): 这是AJAX函数(用Php Codeigniter,AJAX-Chrome中的控制台显示错误响应,php,jquery,ajax,forms,codeigniter,Php,Jquery,Ajax,Forms,Codeigniter,我正在尝试提交一个音乐上传表单,从另一个页面获取输入字段的数据。我只想做一件简单的事情:如果我删除其中一个必填字段,我希望控制台显示表单错误 这是视图(upload.php): 这是AJAX函数(用$(document.ready(function(){})包装): 或者,如果我不使用字段,而是上传图像: {"image":"true","status":"success","message":"Successful uploading."} 但问题是不管我做什么,我总是在控制台中得到相同的行
$(document.ready(function(){})
包装):
或者,如果我不使用字段,而是上传图像:
{"image":"true","status":"success","message":"Successful uploading."}
但问题是不管我做什么,我总是在控制台中得到相同的行,这是一个问题,因为我想稍后处理这些错误消息
在控制台日志(响应)上:
在console.log(response.message)
上:
这些基本上都是我删除所有输入字段时可能出现的表单错误。看起来验证函数在$this->form\u validation->run()==FALSE
部分中被阻塞,忽略所有填充的字段。但同时,空白页中的JSON对象和“Chrome DeV工具>网络->预览或响应”显示正确的响应。
我尝试了以下方法来解决问题: 修改获取表单错误的方式 除了上述方法外,我还尝试了其他两种方法:
$result['message'] = array(
'title' => form_error('title'),
'artist' => form_error('artist'),
'album' => form_error('album'),
'rel_year' => form_error('rel_year'),
);
而且:
$result['message'] = validation_errors();
所有这些都不起作用,一切都保持不变
修改AJAX函数 我只在函数中添加了
data
属性,以查看是否有任何变化。在这里也尝试了两种方法:
data: $('#upload_form').serialize()
以及:
也没有成功
我一直坐在这里想到底是什么问题,不知道解决方案简直让我抓狂:(有什么建议吗?检查此解决方案也检查此AJAX不能以这种方式工作。只要单击“提交”按钮,请求就会被发送。您可以禁用默认表单行为(默认)()方法在JS代码中设置事件。类似于。我知道它无法工作,但即使使用
preventDefault()
给了我同样的错误。我只是测试我是否得到了正确的表单错误。顺便说一句,我尝试了第一个解决方案,它给了我一个未定义的索引:cover
错误,而我清楚地添加了一个name
属性,其值为cover
。
{"image":"true","status":"success","message":"Successful uploading."}
Object {image: "not set", status: "error", message: Object}
Object {title: "The title field is required.", artist: "The artist field is required.", album: "The album field is required.", rel_year: "The release year field is required."}
$result['message'] = array(
'title' => form_error('title'),
'artist' => form_error('artist'),
'album' => form_error('album'),
'rel_year' => form_error('rel_year'),
);
$result['message'] = validation_errors();
data: $('#upload_form').serialize()
data: new FormData($(this)[0])