Actualmente, desde el controlador Angular JS, estoy tratando de enviar los datos JSON al servicio backend. Pero tengo un error 400 de solicitud incorrecta.

Desde el controlador, estoy tratando de enviar los datos a través del servicio http como:

shipDataJson.contractNumber=$scope.contractNumber;
             shipDataJson.orderNumber=$scope.orderNumber;
             shipDataJson.shipmentNumber=$scope.shipmentNumber;
             shipDataJson.SCN=$scope.SCN;
             shipDataJson.sourceSystem=$scope.selectedSrcSystem;
             shipDataJson.destinationSystem=$scope.selectedDestSystem;
             shipDataJson.resendFlag='false';

Pero, en realidad, en el momento del envío, JSON es como:

{
  "contractNumber": "abc",
  "orderNumber": "der",
  "shipmentNumber": "faas",
  "SCN": "fsdafas",
  "sourceSystem": {
    "resendFlag": false,
    "sourceSystem": "arnab"
  },
  "destinationSystem": {
    "resendFlag": false,
    "destinationSystem": "swar"
  },
  "resendFlag": "false"
}

No tiene la idea de eliminar el campo "resendFlag" adicional del JSON.

Gracias de antemano.

0
ArnabDutta 29 dic. 2016 a las 17:56
Creo que has añadido algo antes. lo que publicaste, me parece correcto. Verifique que en algún lugar haya agregado?
 – 
Avnesh Shakya
29 dic. 2016 a las 18:05
Intente consolar: $scope.selectedSrcSystem y $scope.selectedDestSystem. Puede estar aquí es el único problema.
 – 
Avnesh Shakya
29 dic. 2016 a las 18:08
¿Puede mostrar lo que contiene este objeto, "$ scope.selectedDestSystem". ?? también muéstranos dónde estás asignando realmente a este objeto sus valores
 – 
Vish
29 dic. 2016 a las 18:14
Objeto resendFlag: false sourceSystem: "arnab"
 – 
ArnabDutta
29 dic. 2016 a las 18:17
Amigo, está configurando 'resendFlag' aquí como falso, es obvio que se reflejará en el json final, elimínelo de aquí y se deshará de esto. :)
 – 
Vish
29 dic. 2016 a las 18:21

2 respuestas

Si desea eliminar la clave resendFlag. Simplemente elimine esta línea: shipDataJson.resendFlag='false';

0
Steeve Pitis 29 dic. 2016 a las 18:00
Hola Steeve, "destinationSystem": {"resendFlag": false, "destinationSystem": "swar"}
 – 
ArnabDutta
29 dic. 2016 a las 18:03
Oh, ok, ¿podrías registrar esto? $scope.selectedDestSystem
 – 
Steeve Pitis
29 dic. 2016 a las 18:05
Hola Steeve, quiero eliminar "resendFlag" de: "destinationSystem": {"resendFlag": false, "destinationSystem": "swar"}. varias veces el campo "resendFlag" viene dentro del JSON.
 – 
ArnabDutta
29 dic. 2016 a las 18:05

Para eliminar propiedades de los objetos de JavaScript, delete las delete:

delete shipDataJson.destinationSystem.resendFlag
0
user1620220 29 dic. 2016 a las 18:06
Angular.js: 11706TypeError: No se puede convertir indefinido o nulo en un objeto en ChildScope.sampleModule.controller. $ scope.searchShipment (ShipmentSrchCtrl.js: 46) en $ parseFunctionCall (angular.js: 12474) en la devolución de llamada (angular.js: 21700) en ChildScope. $ eval (angular.js: 14570) en ChildScope. $ apply (angular.js: 14669) en HTMLButtonElement. (angular.js: 21705) en HTMLButtonElement.dispatch (jquery.js: 4430) en HTMLButtonElement .r.handle (jquery.js: 4116)
 – 
ArnabDutta
29 dic. 2016 a las 18:14
Ese es un tema aparte. Depura tu función searchShipment.
 – 
user1620220
29 dic. 2016 a las 18:19