Javascript SyntaxError:JSON中位置1处的意外标记e

Javascript SyntaxError:JSON中位置1处的意外标记e,javascript,angularjs,ajax,Javascript,Angularjs,Ajax,下面的代码有什么问题?我不断地发现以下错误。 来自ajax的响应是纯文本的,例如“HelloWorld”。$http.get()是否需要json响应 angular.js:13550 SyntaxError:JSON中位置1处的意外标记t at Object.parse(本机) 加州大学() 在ac() var resourceApp=angular.module(“resourceApp”,[“ngMaterial”]) .controller('resourceController',函数

下面的代码有什么问题?我不断地发现以下错误。 来自ajax的响应是纯文本的,例如“HelloWorld”。$http.get()是否需要json响应

angular.js:13550 SyntaxError:JSON中位置1处的意外标记t at Object.parse(本机) 加州大学() 在ac()


var resourceApp=angular.module(“resourceApp”,[“ngMaterial”])
.controller('resourceController',函数resourceController($scope,$http){
$scope.processForm=函数(){
$http.get(“测试”)
.然后(功能(响应){
console.log(response.data);
});
};
});
提交
{{response}}

关于第二个问题 不一定。您应该在服务器和前端配置中检查是否允许接收纯文本作为响应

将帮助您正确设置标头,同时我也让您检查服务器配置

对于第一个

“测试”是有效的路线吗?似乎$http试图以纯文本形式获取“test”,而不是存储在“test”后面的资源,因为第一个不正确的字符是“t”。否则(如果是有效路线),请参考上述答案

编辑

调用$http(即使在localhost中)时,必须提及到资源的完整路由。在这里,您不能直接调用(“test”),它将其解释为一个简单的“test”请求。请尝试拨打:

$http.get('localhost:[您的端口]/test')。然后{…您需要做什么…})

第二次编辑


text/plain
plain/text
在配置时会有所不同,请小心!这解决了询问者的问题。

服务器返回的数据是什么?提示:它可能不是(有效的)JSON。是的,它只是纯文本,更新了问题您的服务器是否设置了
内容类型
响应标题以指示JSON?是的,它是
应用程序/JSON
。但我将其更改为
纯文本
,仍然看到下面回答的相同错误,请检查1)AngularJS头配置,2)服务器配置,以及3)测试是服务器中的有效路由,它提供纯文本。请尝试使用以下语法访问服务器:
$http.get('localhost:[您的端口]/test')
。我认为这应该可以解决问题。因为有人否决了我,我不能再评论你的问题了,但我会在这里评论。如果您收到相同的错误(
angular.js:13550 SyntaxError:Object.parse(native)
)位置1处JSON中的意外标记t),并且您的服务器发送纯文本,这意味着您的AngularJS应用程序需要JSON。正如我之前链接的那样,我建议您阅读有效地涵盖标题和内容类型(官方文档)的内容。顺便说一下,在我通读的同时,请尝试
text/plain
而不是
plain/text
,让我们来看看。
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">


<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min.css">


<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min.js"></script>




<script>
    var resourceApp = angular.module("resourceApp", [ "ngMaterial" ])
            .controller('resourceController', function resourceController($scope, $http) {
                $scope.processForm = function() {
                    $http.get("test")
                        .then(function(response) {
                            console.log(response.data);

                        });
                };
            });
</script>
</head>
<body ng-app="resourceApp" ng-controller="resourceController">

    <button ng-click="processForm()">Submit</button>
    <pre>{{response}}</pre>
</body>
</html>