jQuery调用WCF服务时如何传递对象参数

jQuery调用WCF服务的设置请参考:jQuery调用WCF需要注意的一些问题

WCF服务接口代码示例:

[ServiceContract]
public interface ICourseService
{
[OperationContract]
bool Create(Course course);
}

客户端调用代码示例:

<script type="text/javascript" src="/script/jquery.json-2.2.min.js"></script>
<script type="text/javascript">
function create_course() {
var course = {};
course.Title
= $("#course_title").val();
course.CategoryId
= $("#course_category").val();
course.Frequency
= $("#course_frequency").val();
course.Alias
= $("#course_alias").val();
course.Description
= $("#course_desc").val();
course.IsPublish
= $("#is_publish").attr("checked").toString();
var jsonCourse = $.toJSON(course);//代码1
var jsonCourse2 = '{"course":' + jsonCourse + '}'
;//代码2
$.ajax({
type:
"POST",
url:
"/wcf/CourseService.svc/Create",
data: jsonCourse2,
contentType:
"application/json; charset=utf-8",
dataType:
"json",
success:
function(data) {
},
error:
function(xhr) {
debugger;
}
});
}
</script>

上面代码红色字体部分:

代码1是通过jquery-json插件将JavaScript对象转换为Json格式。

代码2是将代码1得到的Json格式转换为WCF服务接口所需的Json格式,实际格式是:

{"course":{"Title":"test","CategoryId":"1","Frequency":"10","Alias":"test","Description":"testtest","IsPublish":"true"}}

参考文章:

Passing JSON serialized objects to a WCF service with jQuery

posted @ 2010-05-08 12:27  dudu  阅读(4687)  评论(3编辑  收藏  举报