[英]Uncaught syntaxerror unexpected token { in JSON
使用方法POST時收到此錯誤。 請幫我。
angular_min.js:114 SyntaxError: Unexpected token { in JSON at position 71
at JSON.parse (<anonymous>)
at wc (angular_min.js:16)
at cc (angular_min.js:88)
at angular_min.js:89
at n (angular_min.js:7)
at hd (angular_min.js:89)
at c (angular_min.js:91)
at angular_min.js:126
at m.$eval (angular_min.js:141)
at m.$digest (angular_min.js:138)
我的代碼:var json = {parameter_name:“ amount”,“ parameter_value”:$ scope.it.amount};
var arr=[];
arr.push(json);
$scope.object={formula:$scope.it.formula_saving_point};
$scope.companyTemp={company_id:com_id};
var url = API_URL + "cumulative_point_formula";
var cmd = "check_formula";
var jsonFinal = JSON.stringify({json_parameter: JSON.parse(JSON.stringify(arr)),
company: JSON.parse(JSON.stringify($scope.companyTemp)),
cumulative_point_formula: JSON.parse(JSON.stringify($scope.object))});
此日志jsonFinal
{"json_parameter":[{"parameter_name":"amount","parameter_value":"111111111"}],"company":{"company_id":40743},"cumulative_point_formula":{"formula":"amount/10000"}}
這是方法POST:
$http({
method: 'POST',
url: url,
data: $.param({cm: cmd, dt: jsonFinal}),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function (response) {
console.log("success");
});
如何解決這個錯誤?
如果您仔細檢查一下錯誤,它源自JSON.parse而不是$ http 。 我相信此錯誤是由此行引起的
var jsonFinal = JSON.stringify({json_parameter: JSON.parse(JSON.stringify(arr)),
company: JSON.parse(JSON.stringify($scope.companyTemp)),
cumulative_point_formula: JSON.parse(JSON.stringify($scope.object))});
這里的這段代碼非常多余:
JSON.parse(JSON.stringify($scope.companyTemp))
stringify > parse的結果將與$ scope.companyTemp相同,其他結果也將與此相同:
var jsonFinal = JSON.stringify({
json_parameter: arr,
company: $scope.companyTemp,
cumulative_point_formula: $scope.object
});
JSON.parse將JSON字符串轉換為有效的JavaScript對象
JSON.stringify將JavaScript對象轉換為字符串
如果仍然產生錯誤,我相信這三個arr , $ scope.companyTemp和$ scope.object中的一個具有無效值。
希望能有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.