当响应 JSON 对象数据计数为零时,AJAX 成功回调函数重定向到错误回调

ajax success callback function redirects to error callback when response json object data count is zero

本文关键字:回调 成功 AJAX 函数 重定向 错误 零时 对象 JSON 响应 数据      更新时间:2023-09-26

我正在尝试使用 MVC4 API 控制器处理 json 响应,该控制器将对象发送到 jstree 插件,该插件将响应绑定到树中。在这里,响应包含文件夹列表和请求的 httpresponse。响应取决于服务器连接 [将其作为条件之一]。

情况 1:如果服务器连接正常,则响应是带有 httpresponse [200, OK] 的文件夹对象( Remember the folder count may be zero, this is where the problem exist, this has to be the success case and message like no leaf node exist has to be displayed but can also be the case of error as explained in case 2]。

情况2:当服务器连接不正确时,响应为文件夹对象计数零,这必须在错误回调函数中处理,并将错误消息显示为服务器连接错误。

所以问题是,当服务器连接正常且文件夹对象计数为零时,响应首先转到成功回调,然后转到错误回调,这将显示错误消息作为服务器连接错误,但是我需要显示不存在叶节点。

客户端代码:

    var recreateTree = function (model) {
        $(#treeview)
            .jstree({
                "json_data": {
                    "ajax": {
                        "url": window.virtualPath + "api/myDirectory/TreeViewNodes/",
                        "type": "POST",
                        "data": {},
                        "success": function (data) {
                            do something...
                        },
                        "error": function (data) {
                            do something else...
                        }
                    } 
                 },
              "themes":{......},
               .......... 
            }).bind(........binding code.......);

谁能帮我解决?

对不起,我一开始误解了你的问题。

该问题似乎与数据响应的解析有关。

空字符串被视为格式错误的 JSON,并触发错误。

您可以尝试返回"{}"而不是空字符串来解决问题。