首页 新闻 会员 周边

几个dudu博文里的问题

0
悬赏园豆:80 [待解决问题]

http://www.cnblogs.com/dudu/archive/2011/01/31/not_asp_net_mvc.html

这篇博问,由于一直没人回,所以搬到了这里

1。SiteMsgQuery 是不是这个类型要加上[DataContract],然后其他属性加上[MemberContract]?
2。wcf默认返回给客户端的就是json格式?
3。为什么要设置contentType: $.ajaxSettings.contentType ='application/json';而不是accepts呢?datatype,accepts,contenttype是怎么样一个关系呢?RequestHeader里面有contenttype么?
问题补充:

设置datatype:json和setRequestHeader("Accept","application/json")的区别是啥?

nickycookie的主页 nickycookie | 初学一级 | 园豆:106
提问于:2012-11-27 16:07
< >
分享
所有回答(3)
0
1。SiteMsgQuery 是不是这个类型要加上[DataContract],然后其他属性加上[MemberContract]?
如果你的类要在WCF中进行传输就需要这样的配置,这个是必须的
2。wcf默认返回给客户端的就是json格式?
不是
3。为什么要设置contentType: $.ajaxSettings.contentType ='application/json';而不是accepts呢?datatype,accepts,contenttype是怎么样一个关系呢?RequestHeader里面有contenttype么?

contentType   

(默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数情况。如果你明确地传递了一个content-type给 $.ajax() 那么他必定会发送给服务器(即使没有数据要发送)

dataType

预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML。在1.4中,JSON就会生成一个JavaScript对象,而script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。

"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。'''注意:'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

"text": 返回纯文本字符串

 

chenping2008 | 园豆:9836 (大侠五级) | 2012-11-27 16:40

谢谢你回答第1.2个问题,第三个问题还是有疑问的,这个例子里我怎么设置这些值可以让他返回xml类型呢?谢谢

支持(0) 反对(0) nickycookie | 园豆:106 (初学一级) | 2012-11-27 16:48

还有HTTP 包 MIME 信息是不是就是response的contenttype?

支持(0) 反对(0) nickycookie | 园豆:106 (初学一级) | 2012-11-27 16:50

@nickycookie: 用chrome开发者工具,或者firebug,可以看到很清楚的请求和返回的信息

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-11-27 17:05

@chenping2008: 这个我知道,只是我想知道HTTP 包 MIME 信息是不是就是response的contenttype?

支持(0) 反对(0) nickycookie | 园豆:106 (初学一级) | 2012-11-27 20:43

@chenping2008: jQuery 将自动根据 HTTP 包 MIME 信息来智能判断是什么意思

支持(0) 反对(0) nickycookie | 园豆:106 (初学一级) | 2014-04-16 15:06
0

1. SiteMsgQuery 可以不加DataContract, DataContract 是让object序列化成xml的,前台提交的json格式数据,你只是接收,所以可以不加。

2.wcf 默认是以 xml进行传输,返回客户端是什么类型,要看你的方法返回的是什么类型,会反序列化成对应类型。

3.这是 ajax请求的编码

Qlin | 园豆:2403 (老鸟四级) | 2012-11-27 17:13

谢谢,1的确如你所说,2,3如果照你这么说的话我想返回xml,我把datatype设成xml就应该对了,可是不对啊

支持(0) 反对(0) nickycookie | 园豆:106 (初学一级) | 2012-11-27 17:23

@nickycookie: 

你的 客户端是 浏览器了, js能获取字符串,或者把json格式字符串转换成json取对象,其他的 就难了,又不是C#代码调用wcf

支持(0) 反对(0) Qlin | 园豆:2403 (老鸟四级) | 2012-11-27 17:26

@Qlin: 那wcf这个GetMsgList方法返回到js,转换成json对象前是一般的text?还是个其他啥结构呢?

支持(0) 反对(0) nickycookie | 园豆:106 (初学一级) | 2012-11-27 20:46
0

哈哈,尽敢以下犯上

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-11-28 11:43

啥意思?

支持(0) 反对(0) nickycookie | 园豆:106 (初学一级) | 2012-11-28 22:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册