Angularjs删除JSON eval之前的响应数据行
Angularjs remove line of response data before JSON eval
我在使用Angularjs和jQuery这个特殊的REST API时遇到了一个严重的问题。我不是在相同的领域说的API,可以得到数据回来,但我得到一个"SyntaxError:无效标签"name":{"错误。
如果我要这样做$http。Get或$。我在10秒后得到一个暂停。但是,如果我对任何一个库使用json,我将在Firebug中看到数据在net选项卡中返回,但是我在控制台选项卡中得到上面的错误。在做了一些研究之后,我发现很多人对API(一个Jive产品)和这一行与JSON一起返回的特定文本有问题。响应看起来像这样:
throw 'allowIllegalResourceCall is false.';
{"name":{ "givenName": "xxx"}}
最大的问题是第一个"throw"行。我已经尝试了很多方法来删除那条线,但我还没有找到合适的方法。我很抱歉不能提供代码示例,但如果有任何方法可以在Angularjs或jQuery中完成这项工作,我将接受它。我不知道答案是否在Angularjs的拦截器中,还是在transformResponse中。
如能提供任何帮助,我将不胜感激。
谢谢
AngularJs允许你定义转换http响应数据的方法(这样你就可以删除响应数据的第一行)。你既可以为单个请求这样做,也可以添加一个httpInterceptor。
单要求:
$http.get('...', {
transformResponse: $http.defaults.transformResponse.unshift(function(data) {
// Remove first line of response
data.split("'n").slice(1).join("'n")
}
});
HttpInterceptor
.config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push(function() {
return {
'request': function(config) {
config.transformResponse.unshift(function(data) {
return data.split("'n").slice(1).join("'n")
})
return config;
}
}
})
}])
砰砰作响:http://plnkr.co/edit/6WCxcpmRKxIivl4yK4Fc?p=preview
相关文章:
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 访问令牌和响应数据
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- 如何在UI自动化中捕获响应数据
- 基于类的单击事件在10行之后不响应-数据表
- 从 HTML 页面中的第三方响应数据中获取单个值
- 如何从xhrpost函数中检索响应数据并将该对象存储在dojo/store中
- 可以'无法使用Oauth2/BaseCamp API获取响应数据
- jQuery$.ajax方法.成功:使用响应数据的函数
- $('body').html()从来自Firefox中$jQuery.post的响应数据中给出了空白内容
- 如何在我的高图表中传递 Ajax 响应数据
- 将 Ajax 响应数据加载到挖空数组中
- JavaScript/angular - 无法获取确切的返回响应数据
- 如何使jQuery JSON请求并使用响应数据来更改html元素值
- 将数据绑定到 kendo 下拉列表时,如何将 ajax 响应数据获取到变量
- Dojo 筛选选择 - 完整的 JSON 响应数据不可见
- 调用特定函数时无法加载响应数据
- html 响应数据 ID 不能在 Facebook API 调用中用作字符串
- 访问Ajax响应数据
- Angular$http-在接收响应数据时对其进行处理