2016-09-27 2 views
0

버튼 1. 클릭으로 각도 1.x로 데이터를 보내려고합니다. 값이 손실됩니다,POST를 통해 서버에 데이터를 전달하십시오.

여기 enter image description here

서버 측에서 디버그입니다 :

enter image description here

다음

는 클라이언트 측에서 디버그, 객체가 올바르게 설정 될 것입니다

와 내 POCO :

[Serializable] 
public class Item 
{ 
    public int Id { get; set; } 
    public string Key { get; set; } 
    public int Value { get; set; } 
    public string Description { get; set; } 
} 

UPDATE : 대신 JObject의,

이 작동하지만 오히려 추한입니다 ...

enter image description here

가 나는 변환을 제거 할 수와 매개 변수로 Item 유형을 사용할 수 있습니까?

답변

0

JSON.stringfy()을 사용하여 JavScript 값을 JSON 문자열로 변환하려고합니다.

$httpost.post("...", JSON.stringify($scope.newItem)) 
+0

고맙지 만 작동하지 않습니다. 내가 시도 : http://i.imgur.com/XRazeah.png하지만 여전히 null과 0s 서버 쪽에서 – ibiza

+0

당신은 Mostafa의 대답에서 JSON.stringify와 [FromBody] 모두 시도 했습니까? – Win

+0

매개 변수 유형을 *** Item ***에서 *** object ***로 변경하고 데이터가 게시되었는지 확인할 수 있습니까? – Win

0

사용은 [FromBody] : 복잡한 유형의

public Add([FromBody] Item item) { ... } 

는 웹 API는 미디어 타입 포맷터를 사용하여 메시지 본문에서 값을 읽으려고합니다. 여기에는 [FromBody], [FromUri] 및 [ModelBinder] 또는 사용자 정의 속성이 포함됩니다.

+0

또한 (JSON stringify없이) 이것을 시도하고 여전히 같은 잘못된 결과를 얻을 – ibiza

0

클래스 선언에 액세스 수정 자 public을 추가하십시오.

public class Item 
{ 
    public int Id { get; set; } 
    public string Description { get; set; } 
    public int Key { get; set; } 
    public string Value { get; set; } 
} 
+0

내 POCO는 이미 공개, 그냥 내 질문에 추가했습니다. 감사합니다. – ibiza

+0

'Key'속성에 정수 대신 문자열을 전송하는 것으로 나타났습니다. 맞습니까? –

+0

키는 문자열입니다. 예, 문제의 내 POCO 정의를 참조하십시오. – ibiza

관련 문제