【发布时间】:2011-05-05 14:36:57
【问题描述】:
我正在构建一个 JSON/WCF 应用程序,需要将一组对象发送回服务器。由于某种原因,它不接受数组。使用脚本管理器我可以很好地获取数据。
var month = $("#ddlStartMonth").val();
var year = $("#ddlStartYear").val();
var items = JSON.stringify(calendarItems);
WebService.SaveCalendar(items, new Date(year, month, 01).toDateString(), new Date(year, month, 01).toDateString(), Submit, onPageError);
我尝试过使用和不使用 JSON stringify。 onPageError 函数被激活,它产生的唯一错误信息是“服务器方法'SaveCalendar'失败”。然而web方法第一行的断点没有被激活。
<OperationContract()>
<WebGet(ResponseFormat:=WebMessageFormat.Json, BodyStyle:=WebMessageBodyStyle.WrappedRequest)>
<WebMethod(EnableSession:=True)>
Public Function SaveCalendar(ByVal _jsonImages As String()(), ByVal _selectedMonth As String, ByVal _selectedYear As String) As Boolean
Dim _calenderItems As New List(Of CalenderItem)
'_calenderItems = New JavaScriptSerializer().Deserialize(Of List(Of CalenderItem))(_jsonImages)
HttpContext.Current.Session("calenderItems") = _calenderItems
HttpContext.Current.Session("selectedMonth") = New Date(_selectedMonth)
HttpContext.Current.Session("selectedYear") = New Date(_selectedYear)
Return True
End Function
有什么想法吗?
【问题讨论】:
-
顺便说一句,wcf 服务返回的状态码是 400
标签: asp.net wcf json scriptmanager