上午:
后台返回值方式
第一种:value为字符串
后台程序:
//DTO_Uniform _dto = new DTO_Uniform();
//_dto.IsSuccess = true;
//_dto.value = "123";
//return _dto;
前台js代码:
var
url =
"HandlerTest.ashx"
;
var
serverParams = { test:
"测试.jpg"
};
var
ajaxParams = {
serverUrl: "BS_Test/doTest" ,serverParam: JSON.stringify(serverParams)
};
var
data = CommonAjaxRequest(url, ajaxParams);
alert(data);
第二种:生成的是一个对象
后台程序:
#region
返回对象的
DTO_Uniform
_dto =
new
DTO_Uniform
();
Test
t =
new
Test
(
"test1"
);
//JObject jobdy = new JObject();
//jobdy.Add(new JProperty("test",JsonConvert.SerializeObject(t)));
_dto.IsSuccess =
true
;
_dto.value =
JsonConvert
.SerializeObject(t);
return
_dto;
#endregion
前台js
var
url =
"HandlerTest.ashx"
;
var
serverParams = { test:
"测试.jpg"
};
var
ajaxParams = {
serverUrl:
"BS_Test/doTest"
,
serverParam: JSON.stringify(serverParams)
};
var
data = CommonAjaxRequest(url, ajaxParams);
var
str = data.value;
var
json = JSON.parse(str);
//得到的直接是json传中对应的值 例如{"A":"Test1"}得到的就是Test1
alert(str);
第三种:后台得到的是List集合
后台:
DTO_Uniform
_dto =
new
DTO_Uniform
();
_dto.IsSuccess =
true
;
List
<
Test
> list =
new
List
<
Test
>();
Test
a1 =
new
Test
(
"test1"
);
Test
a2 =
new
Test
(
"test2"
);
list.Add(a1);
list.Add(a2);
JObject
jobj =
new
JObject
();
jobj.Add(
"test"
,
JArray
.FromObject(list));
_dto.value = jobj.ToString();
前台:
var
url =
"HandlerTest.ashx"
;
var
serverParams = { test:
"测试.jpg"
};
var
ajaxParams = {
serverUrl:
"BS_Test/doTest"
,
serverParam: JSON.stringify(serverParams)
};
var
data = CommonAjaxRequest(url, ajaxParams);
var
str = data.value;
var
json = JSON.parse(str);
alert(JSON.stringify(json));
//弹出的是{"test":[{"A":"test1"},{"A":"test2"}]}
下午
新框架与easyui datagrid结合测试例子
页面
注意的地方:因为js中有运用一些东西,所以必须要引入的东西有:
<
link
href
="../JSLibrary/jquery-easyui/themes/default/easyui.css"
rel
="stylesheet"
/>
<
link
href
="../JSLibrary/jquery-easyui/themes/icon.css"
rel
="stylesheet"
/>
<
script
src
="../JSLibrary/jquery-easyui/jquery.min.js"></
script
>
<
script
src
="../JSLibrary/jquery-easyui/jquery.easyui.min.js"></
script
>
<
script
src
="Test.js"></
script
>
<
script
src
="../AjaxToWcf/AjaxToWcf.js"></
script
>
<
script
src
="../AjaxToWcf/json2.js"></
script
>
<
script
src
="SYS_MultiLanguage.js"></
script
>
<
script
src
="../Common/MessageBox.js"></
script
>
js代码:
/// Test.html页面 入口函数
$(
function
() {
// SYS_LANGUAGE.SetSYSLanguage();
isReady();
});
function
isReady()
{
var
url =
"BS_Test/doDataGridTest"
;
var
ajaxParams = {
serverUrl: url,
serverParam:
'{}'
};
var
data = CommonAjaxRequest(
null
, ajaxParams);
var
str = data.value;
var
str2 = JSON.parse(str);
var
total = str2.total;
var
rows = str2.rows;
var
json = { total: total, rows: rows };
//loaddate
$(
'#dg'
).datagrid(
'loadData'
, json);
}
wcf 程序:
IService
:
[
OperationContract
]
[
WebInvoke
(UriTemplate =
"doDataGridTest"
, Method =
"POST"
,
RequestFormat =
WebMessageFormat
.Json, ResponseFormat =
WebMessageFormat
.Json,
BodyStyle =
WebMessageBodyStyle
.WrappedRequest)]
DTO_Uniform
doDataGridTest();
Service
#region
对象
private
BLL_Test
m_BS_Test =
IocHelper
.Resolve<
BLL_Test
>();
#endregion
public
DTO_Uniform
doDataGridTest()
{
DTO_Uniform
_dto =
new
DTO_Uniform
();
_dto.IsSuccess =
true
;
string
str = m_BS_Test.getAll();
_dto.value = str;
return
_dto;
}
Business Logic
BLL_Test:
#region
对象
private
ISTA_BZ
ista_bz {
get
;
set
; }
#endregion
#region
公共函数
public
BLL_Test(
ISTA_BZ
ista_bz)
{
this
.ista_bz = ista_bz;
}
#endregion
#region
公共方法
public
string
getAll()
{
string
str =
""
;
try
{
List
<
STA_BZInfo
> list = ista_bz.GetAll();
JObject
objc =
new
JObject
();
objc.Add(
new
JProperty
(
"total"
, list.Count()));
objc.Add(
new
JProperty
(
"rows"
,
JArray
.FromObject(list)));
str=objc.ToString();
}
catch
(
Exception
ex)
{
throw
new
Exception
(
""
, ex);
}
return
str;
}
#endregion