Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在发送到AngularJS中的服务器之前删除JSON中的额外引号_Javascript_Angularjs_Json_Forms_Angular Forms - Fatal编程技术网

Javascript 如何在发送到AngularJS中的服务器之前删除JSON中的额外引号

Javascript 如何在发送到AngularJS中的服务器之前删除JSON中的额外引号,javascript,angularjs,json,forms,angular-forms,Javascript,Angularjs,Json,Forms,Angular Forms,因此,我尝试在服务器端发送与模型匹配的数据。我的js代码如下: vm.answers={} vm.formData = {answers:vm.answers}; vm.continue=function(){ $location.path('profiles') if(user=='employer'){ $scope.json = angular.toJson(vm.formData); questionService.

因此,我尝试在服务器端发送与模型匹配的数据。我的js代码如下:

vm.answers={}
vm.formData = {answers:vm.answers};

vm.continue=function(){
       $location.path('profiles')
       if(user=='employer'){ 
           $scope.json = angular.toJson(vm.formData);
         questionService.postPostingAnswers($scope.json).then(function (data) {
         location.path("/profiles")
         console.log(data)
         },
         function () {
             alert("Error processing your request")
         }); }

         else{
             $scope.json = angular.toJson(vm.formData);
             questionService.postProfileAnswers($scope.json).then(function (data) {
                 location.path("/profies")
         console.log(data)
         },
         function () {
             alert("Error processing your request")
         });
         }
      }
我的问题是,当我使用angular.toJson时,它也会将formData的花括号串起来,这是我不想要的。 我的服务器需要如下主体:

{
   "answers": {
    "Q1": "A2",
    "Q2": "A4"
   }
}
我用当前代码发送的是:

 "{
       "answers":{
       "Q1":"A2",
       "Q2":"A4"
      }
    }"
我应该如何解决此问题?非常感谢!!:

解决方案:不要发送已解析的对象。只是

questionService.postProfileAnswers(vm.formData)
没关系。如果不工作,请传递postProfileAnswers功能代码

更新:请制作一个plnkr或只是检查一下你的控制台或分享一个屏幕截图

很奇怪,我不加。请检查您的问题是否不是其他问题,是否需要调试

此外,如果您仍在考虑添加JSON,请尝试使用删除第一个和最后一个字符

$scope.json = $scope.json.slice(1, -1);

不使用angular.toJson直接发送vm.formData是否有效?是的,但我的单选按钮键不是字符串,我希望键与值一起也是字符串。因此,您的服务器需要一个带引号的json键?确切地说,我在上面提供了一个示例。问题是,我的服务器需要带引号的json键。我已经试过了,但没用。嘿,巴勃罗,我的控制台在切片后给了我这个。答案:{Q1:A2,Q2:A3,Q3:A6,Q6:A15,Q7:A17,Q9:A19}它没有删除引号,而是删除了大括号。有什么问题吗?你能访问你的服务器吗?如果可以,请检查收到的数据。查看您的帖子,您收到了正确的数据:->{答案:{Q1:A2,Q2:A4}我检查了一下,没有得到正确的数据。我甚至可以在转换为JSON后立即控制我正在发送的注销类型的数据,它显示一个字符串。那个些额外的边界引号只是为了读取比例。这告诉您内容是一个字符串。如果它是一个天才,颜色是不同的,没有引用。