我正在网站上工作,现在我需要制作AJAX表单。我现在的代码确实在数据库中插入了params,但现在我陷入了以下困境。我希望我的代码在JSON状态成功后隐藏表单。在MVC工作。这是我的代码: (我已经让代码中不重要的部分消失了) AJAX:
$("#submitAssignment").on("click", function () {
$.ajax({
type: "POST",
url: "/set/new/ass",
async: true,
data: data,
success: function (data) {
console.log("Het item is toegevoegd");
var err = jQuery.parseJSON(data);
sendAlert.createAlert(err.return, err.type);
if (jsonObj.status == 'success') {
$("#submitAssignment").hide();
}
}
});
});
控制器:
else {
$UserModel = new UserModel();
if ($UserModel->placeAssignment($title, $uploadable, $level, $points, $description)) {
$err['data'] = array("status" => "success", "type" => "success", "return" => "De opdracht is toegevoegd! Joepie :D" );
} else {
$err['data'] = array("status" => "failed", "type" => "danger", "return" => "Er is iets misgegaan!");
}
}
exit( $err['endpoint'] = json_encode( $err['data'], $options = 0 ) );
我想在状态=成功后隐藏的部分,不会隐藏,这就是我的问题。我已经搜索过其他问题了,但是aint得到了成功。在这种情况下,我做错了什么?
答案 0 :(得分:1)
这种情况下的问题是我在ajax代码中使用了错误的回调。我使用了JSONobj.status,但它需要是:err.status,因为我正在以这种方式处理它。 @timothyGroote给出了这个答案,现在它有效。 我的ajax代码现在:
$.ajax({
type: "POST",
url: "/set/new/ass",
async: true,
data: data,
success: function (data) {
console.log("Het item is toegevoegd");
var err = jQuery.parseJSON(data);
sendAlert.createAlert(err.return, err.type);
if (err.status == 'success') {
$("#submitAssignment").hide();
}
}
});