社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Jquery

在jquery中查找json结果中的文本

Tony • 6 年前 • 940 次点击  

如果json结果中的响应消息包含文本“error”,则需要添加条件,然后执行一些操作。

我的控制器文件中有一个函数,用于填充数据,但是当出现内部错误(如用户定义的值,我想将其视为错误)时,我会将其分类,方法是将结果中的单词error连接起来,并将其作为json result传递,以便在ajax调用中使用它。我尝试在消息变量中使用indexof,但是每次得到-1时,不管ajax调用的结果是否有“错误”。

这是我用来获取数据和传递json结果的c代码。

public List<string> PowerShellExecutorGrd(string scriptPath, string arg)
    {
        var items = new List<string>();
        using (var shell = PowerShell.Create())
        {
            shell.Commands.AddCommand(scriptPath).AddArgument(arg);
            var results = shell.Invoke();
            System.Diagnostics.Debug.WriteLine(shell.HadErrors.ToString());
            if (shell.HadErrors == false) {
                if (results.Any()) {
                    foreach (var psObj in results)
                        items.Add(Server.HtmlEncode(psObj.ToString().Trim('{', '}')));
                }
            } else
            {
                var errorMessage = new StringBuilder();
                foreach (ErrorRecord err in shell.Streams.Error)
                {
                    errorMessage.AppendLine(err.ToString());
                }
                items.Add("Error : " + errorMessage.ToString());
            }
        };
        return items;
    }


public JsonResult FillMembers(string GroupGUID)
    {
        var SDC = PowerShellExecutorGrd(AppDomain.CurrentDomain.BaseDirectory + "Shell\\Get-ADGroupMembers.ps1", GroupGUID);
        return Json(new { message = SDC }, JsonRequestBehavior.AllowGet);
    }

这是我的ajax调用:

$.ajax({
                    type: "POST",
                    url: "/Group/FillMembers",
                    data: { GroupGUID: $("#ddlGroup option:selected").val() },
                    success: function (response) {
                          if ($.parseJSON(response.message).indexOf("Error") == -1) { alert(response.message); }
                    }
        }
  });

假设我的shell脚本有1/0,json结果将遇到除以零的错误,我将在response.message中得到它,但是indexof()属性似乎不起作用。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39627