구문 오류:Object.parse(네이티브) Angular에 예기치 않은 토큰이 있습니다.JS
각도로부터의 질문JS눕.
asmx 웹 서비스를 사용하여 그리드를 표시하려고 합니다.웹 서비스를 테스트해보니 JSON 데이터가 올바르게 출력됩니다.여기 제 컨트롤러가 있습니다.
app.controller('SetupController', ['$scope', '$http', function ($scope, $http) {
var url = 'app/pricefilessetup/grid.asmx/getGridJson';
$http.get(url).success(function (data) {
var myjson = JSON.parse(data);
$scope.products= JSON.parse(myjson);
});
}]);
어떤 이유에서인지 SO는 html을 붙여넣는 것을 허용하지 않지만 기본적으로 JSON 데이터를 루프하는 ng-controller 디렉티브와 ng-repeat이 있습니다.
이 웹 앱을 실행하면 오류가 발생합니다.
구문 오류:Object.parse(네이티브)에 예기치 않은 토큰이 있으며 다음 행을 가리킵니다.
$scope.questions = JSON.parse(myjson);
경보를 사용하여 myjson 값을 확인해보니 [Object], [Object Object], ...라고 표시됩니다.
제가 여기서 놓치고 있는 게 있나요?
반환된 데이터는 이미 JSON에 있는 것으로 알고 있습니다.JSON.parse()
스트링 형식이 아닌 한.
$scope.products= data;
사용하는 이유JSON.parse
두 번에 걸쳐서?
var myjson = JSON.parse(data);
$scope.products = JSON.parse(myjson);
데이터 오브젝트는 이미 파싱했는데 왜 다시 파싱하는 거죠?
또한 당신의 데이터는 Json 결과를 반환한다고 생각하기 때문에 오브젝트를 해석할 필요가 없습니다.
이것만 써라
$scope.products = data;
변수myjson
는 이미 유효한 JavaScript 객체입니다.JSON.parse를 사용할 필요가 없습니다.
간단한 해결 방법 절대 URL을 사용합니다.
var url = 'http://demo/app/pricefilessetup/grid.asmx/getGridJson';
사용하는 대신var url = 'app/pricefilessetup/grid.asmx/getGridJson';
확인했습니다.
제 경우 스트링 리터럴이 파라미터로 전달되었습니다.JSON.parse()
.
예를들면JSON.parse('asdf')
에러를 던질 것이다.Uncaught SyntaxError: Unexpected token a
.
특정 케이스에서는 Single page angular 어플리케이션에서는 액세스토큰이JSON.parse()
브라우저에서 쿠키를 지우고 문제를 해결했습니다.
언급URL : https://stackoverflow.com/questions/29763557/syntaxerror-unexpected-token-o-at-object-parse-native-angularjs
'programing' 카테고리의 다른 글
Json Convert.사용되지 않는 날짜 형식을 사용하는 경우 DeserializeObject에서 문자열을 DateTime으로 변환할 수 없습니다. (0) | 2023.03.04 |
---|---|
스프링 부트:휴지 상태 및 Flyway 부팅 순서 (0) | 2023.03.04 |
Mongo에서 "NOT IN" 쿼리를 실행하려면 어떻게 해야 하나요? (0) | 2023.03.04 |
예: keycloak spring-boot 어플리케이션이 bean Keycloak Spring BootConfigResolver를 찾을 수 없음 (0) | 2023.03.04 |
현재 폴더에 직접 React 앱을 만드는 방법 (0) | 2023.03.04 |