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

时间:2013-09-25 09:04:21

标签: javascript jquery ajax json asp.net-mvc-4

我正在尝试使用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.......);

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

抱歉,我一开始误解了你的问题。

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

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

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