我正在试图弄清楚如何通过javascript将复杂对象发送到我的C#webservice。
这里是xml字符串:
<?xml version="1.0" encoding=utf-8?><soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>
<SaveResponse xmlns="http://tempuri.org/">
<RL>
<response_entries>
<ResponseEntry>
<response_id>string</response_id>
<account_id>string</account_id>
<organization_id>string</organization_id>
<form_header_id>string</form_header_id>
<status>string</status>
<field0>string</field0>
<field1>string</field1>
<field99>string</field99>
</ResponseEntry>
<ResponseEntry>
<response_id>string</response_id>
<account_id>string</account_id>
<organization_id>string</organization_id>
<form_header_id>string</form_header_id>
<status>string</status>
<field0>string</field0>
<field1>string</field1>
<field99>string</field99>
</ResponseEntry>
</response_entries>
</RL>
</SaveResponse>
我正在尝试发送的示例:
答案 0 :(得分:3)
正如Marc所说,在javascript中使用JSON非常容易,所以让我们这样做:
首先创建一个Web服务:
[WebMethod]
public string DoStuff(string json)
{
var js = new JavaScriptSerializer();
MyType input = js.Deserialize<MyType>(json);
return js.Serialize(DoStuff(input));
}
该输入是一个json字符串,JavaScriptSerializer很容易将其转换为.NET对象。 DoStuff(MyType)是一种您定义的方法,它可以获取您需要的任何输入并使用它来完成任务。
现在是时候消耗了(我在这里使用GET,但是如果它是活动的你应该POST):
$.get("TestService.asmx/DoStuff", { json: jsonString })
.success(function (data) {
// code goes here!
});
使用json2.js从javascript对象
序列化jsonString