好的,所以在我提出问题之前,我会解释事情的流程。表单将数据提交到add()
中的ShareController
方法(localhost / share / add),然后将其发送到ShareModel
方法createShare()
,其中魔法是假设发生。
我的AJAX代码:
var formData = $(form).serialize();
var form = $("#add-share");
$(form).submit(function(event) {
event.preventDefault();
$.ajax({
type: 'POST',
url: $(form).attr('action'),
data: formData,
dataType : "json",
success : function(data) {
if(data == 1) {
alert("Woohoo!");
} else {
alert("Womp!");
}
console.log(data);
}
})
});
ShareController add()方法:
public function add() {
ShareModel::createShare(Request::post('share_title'));
Redirect::to('share');
}
ShareModel createShare()方法:
public static function createShare($share_title) {
if(strlen($share_title) > 55) {
Session::add('feedback_negative', Text::get('FEEDBACK_SHARE_TITLE_LONG'));
return false;
}
if(strlen($share_title) < 5 || empty($share_title)) {
Session::add('feedback_negative', Text::get('FEEDBACK_SHARE_TITLE_SHORT'));
return false;
}
$data[] = 0;
echo json_encode($data);
}
问题:
Ajax正在回归一切“Womp!”当我将后端PHP验证注释掉时,但是当我实现它时,AJAX不起作用,并且后端验证不会接管。任何人都有想法在这里发生了什么?