【问题标题】:Issue in extracting the value of a key using javascript使用javascript提取键值的问题
【发布时间】:2013-07-06 21:22:14
【问题描述】:

作为调用 API 的 JQuery AJAX POST 请求的一部分,我正在尝试创建一个新项目。

我正在尝试打印确切的错误消息,以防已存在同名项目。 API 调用会根据成功/失败返回相应的错误响应。

我无法准确提取作为 API 调用的一部分返回的错误消息。我只想知道如何准确地提取此错误消息,我可以将其显示为 UI 中的 Flash 消息。

在执行 console.log(data) 时,我在 Firebug 中打印以下作为响应的一部分:-

data: Object { readyState=4, responseText="{"error":"Item already exists","status":404}", status=404, more...}

在扩展整个响应时(点击“更多...”)。我得到以下信息:-

readyState
    4

responseText
    "{"error":"Item already exists","status":404}"

status
    404

statusText
    "Not Found"

abort
    function()

always
    function()

complete
    function()

done
    function()

error
    function()

fail
    function()

getAllResponseHeaders
    function()

getResponseHeader
    function()

overrideMimeType
    function()

pipe
    function()

progress
    function()

promise
    function()

setRequestHeader
    function()

state
    function()

statusCode
    function()

success
    function()

then
    function()

现在要打印上述消息,我尝试了以下操作:-

var obj = data.responseText
console.log("Object Error:- ", obj.error);

但是 console.log("Object Error:- ", obj.error); 在 Firebug 中返回了 undefined。我知道我不是直接处理哈希。 responseText 在字符串中有一个散列,我确信我的问题的答案与这个观察结果有某种关系......如何准确提取确切的错误消息?

【问题讨论】:

    标签: javascript string hash extract key-value


    【解决方案1】:

    您的响应文本是 JSON。您需要对其进行解析并将结果作为纯 JS 对象处理。

    JSON.parse(data.responseText).error
    

    【讨论】:

    • 命中目标.. 谢谢 :)
    猜你喜欢
    • 2022-12-09
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 2023-03-25
    • 2015-01-14
    • 2014-09-17
    • 2018-05-06
    • 1970-01-01
    相关资源
    最近更新 更多