我正在一个网站上工作,现在我必须制作 AJAX 表单。我现在的代码确实将参数插入数据库中,但现在我陷入了以下困境。我希望我的代码在 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();
}
}
});
});
Controller :
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 ) );
我想在 status = 成功后隐藏的部分没有隐藏,所以这就是我的问题。我搜索了其他问题,但没有取得成功。在这种情况下我做错了什么?
最佳答案
本例中的问题是我在 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();
}
}
});
关于javascript - AJAX 如果 JSON-response = X -> 执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45481123/