C#写了一个简单web服务器,处理get请求后返回json的>讨教/h2>
新建建Web服务页面(*.asmx)
函数如下:
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
js调用如下:
$.ajax({
type: "POST",
url: "/Webservice/test.asmx/HelloWorld",
data: "{'Product_ID':'" + ProductID + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
try {
//do something
} catch (e) {
}
},
error: function () {
return false;
}
});
json可以代替xml,为什么网页不用json格式来写呢
之前的程序之间的通讯的数据载体是xml。后来在很多地方json替代了xml。主要有:
1.json格式简单,轻量,不需要前后的标签,减少数据传输的宽带。
2.js天然支持解析json,xml前后端都需要额外的解析一次。
3.json传输支持更多的类型,比如:字符串,数组,布尔值。而xml解析出来都是字符串。
而网页不用json来写,因为html是xml一个变式,html和css,js技术已非常成熟,各大浏览器都支持。不太可能让合浏览器厂商在改变规则,开发对json的支持。
这是两套单独的技术体系,不可相提并论、>等量齐观/strong>!
Xml、Json:
XML(可扩展标记语言):标记就是类似于HTML标签的编写方式,可扩展是完全自定义化,不需要官方提供任何固有的标签结构,其作用为描述、传输和存储数据。
Json(JavaScript Object Notation, JS 对象简谱):是一种轻量级的数据交换格式。它是ECMAScript规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
实际上XML与Json有着几乎相同的使命就是解决数据交换与传输问题,由于项目异构的存在,彼此之间进行数据的传输是一件比较麻烦的事情。
犹如是一道道鸿沟,导致了信息孤岛的产生!例如:有一个公司开发了天气预报的项目,每天可以记录与预报天气的情况信息,对于旅游网站来说不仅仅要在网站上展示自己的产品,同时在用户下订单的时候对天气的情况也要进行了解,这样才能保证旅游的过程是顺利的!
那么旅游公司的项目就需要读取天气预报公司的数据,而天气预报的公司不可能开放自己的数据库权限给他人使用,无论是安全性、性能上都是不可接受的!
所以需要一种中间语言的存在,这种语言大家都可以识别与操作,类似于人类生活的翻译,这样就很好的解决了上述的信息孤岛问题,将项目之间很好的链接起来就形成了云!
在使用过程中,无论XML还是Json都得了程序良好的支持,XML可扩展性比较强、适合物理存储。
Json更加轻量级、传输效率高、格式简洁明了、解析更加容易,无论是页面编程,还是前后端的数据交互越来越得到开发人员的青睐,已经成为了一种主流的数据交换格式!
网页编写:
网页的编写依旧是HTML、CSS、JavaScript的天下,这是网页制作的主流编程语言,经历过多次的版本更新已经非常成熟(这是经历了时间的验证啊!),可以被浏览器在多个操作系统平台下很好的解析,完全没有必要进行翻天覆地的改变!
原先以为是现有的xml,然后才派生出来的html。
后来查了下资料才发现,我错了。
先有的html,然后才根据html的特点,或者是为了弥补html的不足,才设计了xml。
xml设计的目的是为了描述数据。
传递过来一份数据,不需要看文档,就知道是啥意思。
一开始的ajax就是为了传递xml才设计的。
后来发现传递xml,后端太累。
而转成传递json,却非常方便。
于是在传递数据这个领域,json才替代了xml。
html设计出来,就是为了实现网页的,负责数据都显示方式。比如位置,布局,字体大小,颜色,图片混合等。
在这方面,json完全没有优势。
看了很多评论,大部分都在胡扯,还有说xml和json事编程语言的?网页为什么用xml来写,首先我也觉得大部分是因为xml历史悠久,json是后来居上,如果你想用json来写网页完全可以,不过要所有浏览器厂商基于json重新衍生出一套标准,就好比html从xml衍生出来,说白了就是指定规则,并且目前更好办,html已经成熟,只需要做json映射就行,说白了不管是html还是json最终目的是内存中的一个树状结构,把现在的浏览器对于解析html部分改成解析json理论上就可以实现,但是json在表达能力上不如html