未捕获的syntaxerror意外令牌{在JSON中

时间:2016-11-10 01:33:06

标签: javascript angularjs

使用方法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:&#34;量&#34;&#34; PARAMETER_VALUE&#34;:$ 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");
});

如何修复此错误?

1 个答案:

答案 0 :(得分:0)

&lt; p&gt;如果您仔细查看错误,则源自&lt; strong&gt; JSON.parse&lt; / strong&gt;而不是&lt; strong&gt; $ http&lt; / strong&gt;。我认为此错误是由此行引起的&lt; / p&gt; &lt; pre&gt;&lt; code&gt; var jsonFinal = JSON.stringify({json_parameter:JSON.parse(JSON.stringify(arr)),     公司:JSON.parse(JSON.stringify($ scope.companyTemp)),     cumulative_point_formula:JSON.parse(JSON.stringify($ scope.object))}); &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;这里的代码块非常多余:&lt; / p&gt; &LT;预&GT;&LT;代码&GT; JSON.parse(JSON.stringify($ scope.companyTemp)) &LT; /代码&GT;&LT; /预&GT; &LT p为H.;&LT;强&GT;字符串化&LT; /强&GT; &GT; &LT;强&GT;解析&LT; /强&GT;与&lt; strong&gt; $ scope.companyTemp&lt; / strong&gt;相同其他人也是如此:&lt; / p&gt; &LT;预&GT;&LT;代码&GT; var jsonFinal = JSON.stringify({       json_parameter:arr,       公司:$ scope.companyTemp,       cumulative_point_formula:$ scope.object   }); &LT; /代码&GT;&LT; /预&GT; &LT p为H.;&LT;强&GT; JSON.parse&LT; /强&GT;将JSON字符串转换为有效的JavaScript对象&lt; / p&gt; &LT p为H.;&LT;强&GT; JSON.stringify&LT; /强&GT;将JavaScript对象转换为字符串&lt; / p&gt; &lt; p&gt;如果它仍然产生错误,我相信其中一个&lt; strong&gt; arr&lt; / strong&gt;,&lt; strong&gt; $ scope.companyTemp&lt; / strong&gt;,&lt; strong&gt; $ scope.object&lt; / strong&gt ;具有无效值。&lt; / p&gt; &lt; p&gt;希望有帮助&lt; / p&gt;