我有以下的JOSN数据。
我无法弄清楚在POST方法中将此数据发送到服务器的方式是什么。
在UI中,让我们说我有一个表格,我有一个组合框国家和两个多选网格展览,位置和事实详情(JSON商店)和一个保存按钮。 当我点击创建按钮时,我必须以下面的格式发送数据。因为我已经使用SOAP和其他一些UI技术创建了这个功能。现在我只想使用REST JSON和Extjs来做同样的事情。
请建议我将这些数据发送到服务器的一些方法。
{
"NewStoreReportReq":{
"countryID":"170",
"countryName":"COLOMBIA",
"Exhibitions":[
{
"exhibitionID":"1004"
},
{
"exhibitionID":"1007"
}
]
,
"Locations":[
{
"locationID":"70"
}
]
,
"FactsDetails":[
{
"factID":"22"
},
{
"factID":"23"
},
{
"factID":"24"
}
]
}
}
答案 0 :(得分:0)
//在这里,您将构建复杂对象,从网格或任何其他视图中获取数据
var myComplexObject = {
"NewStoreReportReq": {
"countryID": "170",
"countryName": "COLOMBIA",
"Exhibitions": [
{
"exhibitionID": "1004"
},
{
"exhibitionID": "1007"
}
],
"Locations": [
{
"locationID": "70"
}
],
"FactsDetails": [
{
"factID": "22"
},
{
"factID": "23"
},
{
"factID": "24"
}
]
}
}
//在这里你将json编码你的对象
var jsonObject = Ext.encode(myComplexObject);
//在这里,您将向服务器执行Ajax请求...
Ext.Ajax.request({
url: '../SomeServlet',
method: 'POST',
params:{
'jsonObject': jsonObject
},
//here you can handle the response of the server
callback: function (opts,success,response){
var serverResponse = Ext.decode(response.responseText);
// the property message has to be returned in json format
Ext.Msg.alert(serverResponse.message);
}
});
假设您正在使用java和servlet(是的,我知道),您必须接收类似String json = request.getParameter("jsonObject");
之类的对象,然后使用像Jackson这样的库将该json转换为Java对象。
最好的问候。