我知道这是重复但我无法在其他帖子中解决此问题。我对角度很新,我正在尝试完成一个项目,但是我遇到了错误。
当我点击一个按钮时,将获取ng-model
的值并将其推送到数组中。此处的值取为null
。出于同样的原因,存储该值的数据库中的column
会在表列中获取null
时抛出错误。
SyntaxError: Unexpected token u in JSON at position 0
at JSON.parse (<anonymous>)
at Object.addtext (scripts1.js:169)
at fn (eval at compile (angular.js:13231), <anonymous>:4:367)
at f (angular.js:23371)
at b.$eval (angular.js:15878)
at b.$apply (angular.js:15978)
at HTMLButtonElement.<anonymous> (angular.js:23376)
at HTMLButtonElement.dispatch (jquery.min.js:3)
at HTMLButtonElement.q.handle (jquery.min.js:3)
Html代码:
<div ng-repeat="task in ctrl.tasks track by $index" class ="listwrapper" id = "listwrapper">
<div id="titlebox">
<b class ="card1" id ="cardtitle">
@{{task.title}}
</b>
</div>
<ul id="selected" style ="margin:0; padding:0; list-style: none;" class ="consort">
<li ng-click="ctrl.on($parent.$index, $index)" ng-repeat="cardt in ctrl.task.cardarr track by $index" class = "add-card" id="add-card">
@{{cardt}}
</li>
</ul>
</div>
包含变量的js文件:
.controller('parentcontroller', ['$compile','$http', 'trelloService' , function($compile, $http, trelloService){
'ngInject';
var vm = this;
function addtext(parentindex,index){
$(`#board`).sortable({
}).disableSelection();
$(`#selected`).sortable({
connectWith: `.consort`
}).disableSelection();
console.log(vm.newtitle[index]);
$http({
method: "POST",
url: "/api/card/create/"+ vm.tasks[parentindex].id ,
data: {title: vm.newtitle[index]},
headers: {'Content-Type': 'application/json'}
}).then((data) => {
console.log(data);
}).catch(function(data){
alert("error");
});
var cardtitle = JSON.parse(JSON.stringify(vm.newtitle[index]));
vm.tasks[index].cardarr.push(cardtitle);
};
}]);
答案 0 :(得分:0)
SyntaxError:位于0的JSON中的意外标记u
这个问题可能有两个原因:
您正在尝试访问JSON字符串而不是JSON对象。
在访问之前解析它:
JSON.parse(data);
检查响应标头中的Content-Type。它应该是application/json
。