希望有人可以提供帮助。真的拉我的头发,并开始认为我应该没有使用wcf数据服务。从服务中获取odata很容易,所以我想我可以从我的javascript代码发送json对象并将内容作为我服务中的对象读取但是它什么都不返回。
我的javascript:
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 :-(");
}
});
我的课程和功能在我的svc
<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。希望将一个文本框名称和值列表返回给要处理的wcf数据服务。是否可以使用wcf数据服务?
答案 0 :(得分:0)
好的,所以我创建了一个新的wcf数据服务,删除了inherits dataservice引用和initializeservice sub。
的javascript:
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: - Wrapped但它的工作非常快乐。希望它可以帮助那里的人。