WCF and Json Call



我正在开发一个WCF应用程序,前端使用JSON调用Web方法。

我有一个数据模型类,如下所示

[DataContract]
public class GL_AccMainTypeListItem
{
[DataMember]
public int accMainTypeyNo { get; set; }
[DataMember]
public string mainType { get; set; }
[DataMember]
public int startAccNo { get; set; }
[DataMember]
public int endAccNo { get; set; }
}

我的 web 方法如下,并返回上述对象的列表。(这些效果很好(

[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "GetDataString/{value}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public List<GL_AccMainTypeListItem> GL_AccMainType_GetAll()
{
DataAccessService da = new DataAccessService("usp_GL_AccMainTypeGetAll");
DataTable dt = da.ExecuteDataTable();

var acc = (from row in dt.AsEnumerable()
select new GL_AccMainTypeListItem
{
accMainTypeyNo = Utility.ToInt(row["accMainTypeNo"]),
mainType = Utility.ToString(row["mainType"]),
startAccNo = Utility.ToInt(row["startAccNo"]),
endAccNo = Utility.ToInt(row["endAccNo"])
});
return acc.ToList();
}

基本上在这里我使用存储过程并从数据库中获取数据表并返回客户端。我想知道如何使用 JQuery 在客户端调用此 Web 服务并逐行迭代结果集。

<script src="jquery-1.11.2.js"></script>
<script>
$(document).ready(function () {
$('#btnGetAccountList').click(function () {                  
$.ajax({
//url will be yourclassname.svc/yourmethodname
url: 'namespaceofGL_AccMainType_GetAllmethod.svc/GL_AccMainType_GetAll',
method: 'Get',
contentType: "application/json;charset=utf-8",                       
success: function (data) {
//your account detail list will be here. 
},
error: function (err) {
alert(err);
}
});
});
});
</script>

你必须对该方法进行 ajax 调用。 例如:

// Function to call WCF  Service       
function CallService() {
$.ajax({
type: Type, //GET or POST or PUT or DELETE verb
url: Url, // Location of the service
data: Data, //Data sent to server
contentType: ContentType, // content type sent to server
dataType: DataType, //Expected data format from server
processdata: ProcessData, //True or False
success: function(msg) {//On Successfull service call
ServiceSucceeded(msg);
},
error: ServiceFailed// When Service call fails
});
}

最新更新