2014-02-10 4 views
1

누군가 도움을 줄 수 있기를 바랍니다. 정말로 내 머리카락을 꺼내서 wcf 데이터 서비스를 사용하지 않아야한다고 생각하기 시작했습니다. 그 서비스에서 odata 쉽게 얻을 수 있도록 내 자바 스크립트 코드에서 json 개체를 보낼 수 내 서비스의 개체로 내용을 읽을 수 있다고 생각하지만 그것은 아무것도 반환하지 않습니다. 내 SVCjson 개체가 WCF 데이터 서비스에서 아무 것도 반환하지 않습니다. WebInvoke VB Odata

<DataServiceKeyAttribute("id")> _ 
Public Class tobject 
    Public Property id As Integer 
    Public Property frmid As String 
    Public Property frmval As String 
End Class 

<WebInvoke()> _ 
Public Function SendItems(myobject As String) As Boolean 
      ' have to ask for string as errors when asking for tobject 
    Return True ' nothing here yet as cannot get json object 
End Function 

WCF 데이터 서비스 및 JQuery와에 나의 첫번째 벤처

var vname = []; 
var obj = { myobject: { frmid: "test", frmval: "1111" } } 
vname.push(obj) 

$.ajax({ 
     url: "MyWCFDataService.svc/SendItems", 
     type: "POST", 
     dataType: "json", 
     contentType: "json", 
     data: { myobject: JSON.stringify(vname) }, 
     success: function() { 
      alert("success :-)"); 
     }, 
     error: function() { 
      alert("fail :-("); 
     } 
    }); 

내 클래스와 기능 :

내 자바 스크립트. 처리 할 wcf 데이터 서비스에 텍스트 상자 이름 및 값의 목록을 반환하기를 원했습니다. wcf 데이터 서비스로 가능합니까?

+0

JSON.stringify를 사용할 필요가 없습니다. 문자열 버전이 아닌 json을 보내려합니다. –

+0

고마워,하지만 만약 내가 아니, 그것은 undefined = & undefined = & undefined =로 데이터를 보냅니다. json.stringify가 올바르게 전송합니다. – nickand

답변

0

그래서 새로운 wcf 데이터 서비스를 만들고, 상속 dataservice 참조 및 initializeservice 하위를 제거했습니다.

자바 스크립트 :

vname.push({ frmid: "test", frmval: "1111" }) 

$.ajax({ 
    url: "MyWCFDataService.svc/SendItems", 
    type: "POST", 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    data: { JSON.stringify(vname) }, 
    success: function() { 
     alert("success :-)"); 
    }, 
    error: function() { 
     alert("fail :-("); 
    } 

});

서비스 :

Public Class tobject 
    Public Property frmid As String 
    Public Property frmval As String 
End Class 


<OperationContract> 
<WebInvoke(ResponseFormat:=WebMessageFormat.Json, RequestFormat:=WebMessageFormat.Json)> _ 
Public Function SendItems(anyobjectname As List(Of tacosobjectitem)) As Boolean 

    Return True 

End Function 

이 지금 내 개체의 목록에 anyobjectname를 켭니다. 나는 왜 내가 BodyStyle을 사용할 수 없었는지 이해하지 못한다 : - 감싸 였지만 너무 행복하다. 누군가가 도움이되기를 바랍니다.