我正在创建以下JSON对象
$("#btnSubmit").click(function () {
var poll = { 'q': $('#txtQuestion').val(), 'a': [] };
for (i = 1; i < counter; i++) {
var a = $('#txtAnswer_' + i).val();
poll.a.push(a);
}
$.ajax({
type: 'POST',
url: "../_ws/Polls.asmx",
data: JSON.stringify(poll),
contentType: 'application/json; charset=utf-8',
dataType: 'json'
});
});
基本上,这会回复问题文本框的值并回答轮询的文本框(即时创建)。结果是'poll'对象。
我想将此对象发送到Web服务,如上所示。直到这里没问题。我的问题是如何检索这个json对象并在我的Web服务中的函数中处理它?</ p>
<WebMethod()> _
<ScriptMethod()>
Public Function AddPoll(**??? as ???**) As String
End Function
如果有人能提供帮助,我将不胜感激。
答案 0 :(得分:0)
如果我理解正确,poll
最终会看起来像这样吗?
{ q: 'Question text', a: [ 'Answer 1', 'Answer 2', 'Answer 3' ] }
如果是这样,您可以使用的简单方法声明如下:
Public Function AddPoll(q as String, a as List<string>)
如果你想要更精确的东西,你可以建立自己的一套匹配类型:
public class PollDTO {
public string q { get; set; }
public List<string> a { get; set; }
}
<WebMethod()>
Public Function AddPoll(pollData as PollDTO)
您还需要更改jQuery数据参数,以便将单个变量下的数据分组:
data: JSON.stringify({ pollData: poll })
有关此内容的更多信息:http://encosia.com/using-complex-types-to-make-calling-services-less-complex/