gpt4 book ai didi

asp.net-mvc - jQuery JsTree 和 JSON 错误处理

转载 作者:行者123 更新时间:2023-12-02 20:02:47 26 4
gpt4 key购买 nike

我正在使用 MVC 将 JSON 数据传递到 JsTree 并显示信息的分层 View 。一切工作正常,但是,有时用户无权访问数据或由于某种原因 MVC 操作抛出异常:

在这些情况下,操作会传递 JSON 错误消息并将 HttpStatusCode 设置为 NotAcceptedInternalServerError

但是 jsTree 的罪魁祸首一直在旋转,我似乎找不到办法让它停止并显示错误消息。

有人解决过这个问题吗?使用 JsTree 的 JSON 数据插件时如何进行错误处理?

更新:

我想出了如何捕获错误:

 $("#jstree1").jstree({
"json_data": {
"ajax": {
"url": serviceUrl,
"data": function (n) {
return { pid: n.attr ? n.attr("id") : "" };
},
"error": function (x, s, r) { var err = $.parseJSON(x.responseText); if (err!="") { alert(err); } }
}
}

看来 JsTree 确实获取了 MVC http statusCode 和错误,现在我需要弄清楚如何告诉 JsTree 停止等待并删除旋转图像!

我也在寻找一种在 JsTree 中显示错误的好方法,或者我应该在 JsTree 之外管理错误消息?

最佳答案

我已经解决了这个问题。

请注意 - 上面处理 ajax 调用错误的代码示例不正确,请参阅下面的完整示例:

        $('#YourTree').jstree({
"json_data": {
"ajax": {
"url": "/Controller/Action",
"data": function () {
return { Parameter1: "Value1", Parameter2: "Value2" }
},
"type": "POST",
"dataType": "json",
"error": function (jqXHR, textStatus, errorThrown) { $('#YourTree').html("<h3>There was an error while loading data for this tree</h3><p>" + jqXHR.responseText + "</p>"); }
}
}
});

而在实际操作中,需要将http响应状态码设置为1并写入错误。例如

Response.StatusCode = 1
Response.Write("Error you want to go into jqXHR.responseText here");

享受吧:)

关于asp.net-mvc - jQuery JsTree 和 JSON 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com