2016-02-27 55 views
1

的条纹API将返回我JSON字典(无论是)时,条纹的OAuth过程失败返回。我将它作为变量存储,但我无法访问它的值“error_description”。 Here is a link to the relevant Stripe docs访问值从条纹API流星

不知道是否有差别,但是这是在服务器端方法的流星应用。

我有以下的存储为所谓的“错误”变量。这是我的console.log(错误);

{ [Error: failed [400] { "error": "invalid_grant", "error_description": "Authorization code does not exist: ac_7z4pnJ8ee71yJNxguV6wiINIf10fgl6j" }] stack: [Getter] } 

我的问题是:如何访问“error_description”?

它似乎并不当我写

var newError = error.error_description 

工作,如果任何人都可以帮我把ERROR_DESCRIPTION这将是真棒,谢谢!

更新 添加.message删除响应的一部分,但我仍然无法JSON.parse,或访问ERROR_DESCRIPTION

VAR误差=返回Error.message结果

failed [400] { "error": "invalid_grant", "error_description": "Authorization code does not exist: ac_7z4pnJ8ee71yJNxguV6wiINIf10fgl6j" } 

回答

1

您好像收到了error object

您应该能够使用:

error.message 

这部分似乎是一个JSON字符串,但前缀文字,如“失败[400]”,这是不是遵循JSON的一部分。所以你应该去掉第一部分获取JSON字符串,如下所示:

var json = /(\{.+)/.exec(error.message)[1]; // strip prefix 

var errorObj = JSON.parse(json); 

console.log(errorObj.error_description);  
+0

感谢您的回复。当我这样做,我得到这个错误: “异常而调用方法‘stripeAuth’语法错误:意外的令牌é I20160227-12:34:12.414(0)?在Object.parse(native) I20160227-12:34:12.414(0)?在[对象的对象] .Meteor.methods.stripeAuth(服务器/条纹/方法/条纹连接-authenticate.js:18:20)” – Sean

+0

还有更多,但我认为前3行告诉故事 – Sean

+0

谢谢,仍然不相当有效,但确实改变了一些事情。更新我原来的问题在底部,所以你可以在Object.parse 看 – Sean