当前位置: 首页 > 面试题库 >

Angular $ http服务-强制不解析对JSON的响应

龚钧
2023-03-14
问题内容

我的服务器中有一个“ test.ini”文件,包含以下文本:

"[ALL_OFF]
 [ALL_ON]
"

我正在尝试通过$http服务获取此文件的内容,这是我的功能的一部分:

  var params = { url: 'test.ini'};
 $http(params).then(
                 function (APIResponse)
                   {
                     deferred.resolve(APIResponse.data);
                   },
                    function (APIResponse)
                   {
                     deferred.reject(APIResponse);
                   });

此操作收到了一个Angular异常(SyntaxError:意外令牌A)。
我打开了Angular框架文件,然后找到了例外:
因为文本文件的内容以“ [ ] 开头,以“ ] ” 结尾,因此Angular“认为”是一个JSON文件。

这是Angular代码1.2.23版本中的 7474行):

 var defaults = this.defaults = {
    // transform incoming response data
    transformResponse: [function(data) {
      if (isString(data)) {
        // strip json vulnerability protection prefix
        data = data.replace(PROTECTION_PREFIX, '');
        if (JSON_START.test(data) && JSON_END.test(data))
          data = fromJson(data);
      }
      return data;
    }],

我的问题:

如何 强制 angular 进行此检查(if (JSON_START.test(data) && JSON_END.test(data)))并且 解析对JSON的文本响应?


问题答案:

您可以通过以下方法覆盖默认值:

$http({
  url: '...',
  method: 'GET',
  transformResponse: [function (data) {
      // Do whatever you want!
      return data;
  }]
});

上面的函数替换了您为该HTTP请求设置的默认函数

或者读此,他们写的“改变默认的转换每请求”。



 类似资料:
  • 问题内容: 我试图从下面的curl输出中获取说“ ip”的值: 我在互联网上发现了许多示例来解析curl请求的json输出,并且编写了以下代码,但这似乎并没有给我说“ ip”的值 如果有人可以向我提示我需要添加到代码中以获得“ ip”值的提示,我将不胜感激。 问题答案: 您可以创建结构来模仿json结构,然后对json进行解码。 输出为: 通过将其解码为一个结构,您可以循环遍历任何切片,而不会局限

  • 问题内容: 我正在使用来自Apache的HTTP客户端,并且正在尝试从我从客户端获得的响应中解析JSON数组。 这是我收到的JSON的示例。 我正在使用http://code.google.com/p/json-simple/作为json库。 这是我尝试过的代码,但是没有用。我不太确定该怎么办。任何帮助表示赞赏,谢谢。 问题答案: BufferedReader rd = new BufferedR

  • 问题内容: 我有一个用于Web应用程序的ASP.net Web服务,该服务根据我调用的函数向我返回XML或JSON数据。到目前为止,这一直很好,但是我遇到了一个问题。我想在我的页面上创建一个“导出”链接,该链接将下载一个JSON文件。链接的格式非常简单: 您可能会想到,这应该导出项目2。到目前为止,很好,是吗? 问题是,由于我没有特别要求接受的内容类型是JSON,因此ASP.net绝对拒绝发回除X

  • 问题内容: 我正在尝试从FlickR解析JSON响应,但是遇到了困难。我已经进行了一些测试,并且收到200的响应代码,并且能够使用日志记录拦截器查看实际的JSON。 但是,当我尝试访问JSON对象时,我收到了一个空指针。我觉得这与我的映射/ JSON到POJO有关: 相片: 照片: JSON响应: LOGCAT 72行 问题答案: 您的课程不适合服务器 响应, 因此您的身体为 Null 。您的模型

  • 正如前面的章节中讨论的那样,当一个 Web 服务器响应一个 HTTP 请求时,响应通常包括一个状态行、一些响应报头、一个空行和文档。一个典型的响应如下所示: HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (Blank Line) <!doctype ...> <html> <head>...</he