Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angular js中处理http文本/普通响应_Javascript_Jquery_Html_Angularjs - Fatal编程技术网

Javascript 在angular js中处理http文本/普通响应

Javascript 在angular js中处理http文本/普通响应,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我需要在GUI上显示PostAPI的text/plain响应。下面是我的http post操作代码 $http.post("/compare").success(function(data){ cb(data); }).error(function(error){ eb(error); }); 试图以json格式解析响应时出现以下错误 SyntaxError: Unexpected token at Object.parse (n

我需要在GUI上显示PostAPI的
text/plain
响应。下面是我的http post操作代码

$http.post("/compare").success(function(data){
        cb(data);
     }).error(function(error){
         eb(error);
     });
试图以
json
格式解析响应时出现以下错误

SyntaxError: Unexpected token 
    at Object.parse (native)
    at fromJson
API的实际响应,它还包含制表符和新行字符:

Response header: content-type:text/plain
Response payload:         
{
  "output": {
    "diff": "
 apples {
     apple 101 {
         conf {
             test {
                 forward {
-                    mac AABB.CCDD.EEFF;
+                    mac B222.2BBB.2222;
                 }
             }
         }
     }
 }
"
}

当我尝试使用jQueryAjax调用时,我能够处理来自API的文本/普通响应有没有办法在angular post中处理文本/普通响应?

有效负载是有效JSON的一部分。您是否格式化/剪切了错误的结果,或者这真的是(无效的)结果

也就是说,您在成功回调中得到的
数据
将只是一个字符串,因此正如评论中提到的,您需要解析该字符串以从中获得有效的javascript对象:

cb(JSON.parse(data));
看看这个例子:
如果您想看到差异,请打开控制台(在运行前点击F12)。

cb(JSON.parse(data))
如果它是json字符串,则解析它。@Jai,我假设这也不是有效的json。.您可以尝试设置$http@RayonDabre的
responseType
属性,但OP说它与jQuery一起工作。“diff”变量是字符串,他的内容不是json。。。您需要解析这个字符串,它是一种特定的diff格式。