angular.js - Angularjs: Unexpected token g in JSON at position 0 这错误怎么了

浏览:31日期:2023-01-07

问题描述

错误信息:当我运行saveUser这个方法的时候,就弹出这个错误,但是,数据能够写进数据库。这是怎么回事?

angular1.5.3.min.js:116 SyntaxError: Unexpected token g in JSON at position 0 at Object.parse (native) at uc (http://localhost:8080/js/angular1.5.3.min.js:17:6) at ac (http://localhost:8080/js/angular1.5.3.min.js:90:253) at http://localhost:8080/js/angular1.5.3.min.js:91:164 at q (http://localhost:8080/js/angular1.5.3.min.js:7:355) at ed (http://localhost:8080/js/angular1.5.3.min.js:91:146) at c (http://localhost:8080/js/angular1.5.3.min.js:92:403) at http://localhost:8080/js/angular1.5.3.min.js:128:305 at m.$eval (http://localhost:8080/js/angular1.5.3.min.js:142:467) at m.$digest (http://localhost:8080/js/angular1.5.3.min.js:140:47)(anonymous function) @ angular1.5.3.min.js:116(anonymous function) @ angular1.5.3.min.js:89(anonymous function) @ angular1.5.3.min.js:128$eval @ angular1.5.3.min.js:142$digest @ angular1.5.3.min.js:140$apply @ angular1.5.3.min.js:143g @ angular1.5.3.min.js:95x @ angular1.5.3.min.js:100v.onload @ angular1.5.3.min.js:101

js:

var app = angular.module(’MyApp’, [’ngResource’]); app.factory(’baseRequest’, ['$resource', function ($resource) {return $resource('/apis/:id/users.req', {id: ’@id’}, { query: {method: ’get’, isArray: false}}); }]); app.controller('MyCtrl', ['$scope', 'baseRequest', function ($scope, baseRequest) {/** * all * **/$scope.fetchAllUsers = function () { $scope.users = baseRequest.query();};/** * first show * **/$scope.fetchAllUsers();/** * delete * **/$scope.deleteUser = function (id, name) { if (confirm('delete[' + name + ']?')) {baseRequest.delete({id: id});$scope.fetchAllUsers(); }};/** * save * **/$scope.saveUser = function (u) { baseRequest.save(u); $scope.fetchAllUsers();}; }]);

jsp文件:

<p style='float: left;margin-left: 20px;width: 350px;'> <span>UserName:</span><input type='text' ng-model='user.name' required><br> <span>Password:</span><input type='password' ng-model='user.password' required><br> <span>Email:</span><input type='email' ng-model='user.email' required><br> <input type='button' ng-click='saveUser(user)' value='save_data'><br> <span>user’content:{{user}}</span></p>

问题解答

回答1:

json取出时没有做小括号的处理。。 应该是这样。。

回答2:

定位是你的Json返回数据格式有误

Angularjs要求的Json格式比较严格:下面两种都是错误示例

{test: 1} (test 没有使用双引号包裹).{’test’: 1} (’test’ 用了单引号而不是双引号包裹).

正确示例是:

{'test': 1} 要用双引号包裹

相关文章: