Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果JSON响应=X->;行动_Javascript_Php_Jquery_Json_Ajax - Fatal编程技术网

Javascript 如果JSON响应=X->;行动

Javascript 如果JSON响应=X->;行动,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我正在一个网站上工作,现在我必须制作AJAX表单。我现在的代码确实在数据库中插入了参数,但现在我陷入了以下困境。我希望我的代码在JSON状态为success之后隐藏表单。在MVC中工作。这是我的代码: (我把代码中不重要的部分漏掉了) 阿贾克斯: 控制器: else { $UserModel = new UserModel(); if ($UserModel->placeAssignment($title, $uploadable, $level, $points, $de

我正在一个网站上工作,现在我必须制作AJAX表单。我现在的代码确实在数据库中插入了参数,但现在我陷入了以下困境。我希望我的代码在JSON状态为success之后隐藏表单。在MVC中工作。这是我的代码: (我把代码中不重要的部分漏掉了) 阿贾克斯:

控制器:

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 ) );

状态=成功后我想隐藏的部分没有隐藏,所以这是我的问题。我搜索了其他问题,但没有成功。在这种情况下我做错了什么?

这种情况下的问题是我在ajax代码中使用了错误的回调。我使用了JSONobj.status,但它必须是:err.status,因为我正以这种方式处理它@蒂莫西格罗特给出了这个答案,现在它起作用了。 我现在的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();
            }
        }
    });

jsonObj
设置在哪里?我想你的意思是查看
err.status
而不是
jsonObj.status
你是否调试了代码以查看是否有任何错误,或者代码是否达到了内部if条件,err从来都没有用过。这就是问题所在。现在它确实起作用了:)@WillemDN不客气:)请不要使用“return”作为对象。这是Js的一个关键词。
$.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();
            }
        }
    });