最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
nodejs中getJSON 用法
时间:2012-05-05 编辑:简简单单 来源:一聚教程网
特点:
* 单线程事件模型,简单高效
* 基于活跃的高性能V8引擎
* 社区活跃,组件丰富
安装node.js:
sudo yum install gcc-c++ openssl-devel
wget http://nodejs.org/dist/node-v0.4.0.tar.gz
./configure; make; sudo make install
安装NPM(node的包管理器):
curl http://npmjs.org/install.sh | sh
安装好nodejs之后我们来看一个简单的测试
node端片段:
代码如下 | 复制代码 |
app.get( '/sayHello', function(req, res){ res.end(JSON.stringify({testkey:"这是一个Value诶"})); } ); |
就是返回一个json格式的数据,然后再client端显示出来
但是在使用jQuery中的时候闹了很多幺蛾子
首先是:
client片段
代码如下 | 复制代码 |
$.get('/sayHello', function(data){ alert(data.testkey); }, 'json'); |
一切正常。
后来发现jQuery有个专门异步获取JSON的方法getJSON于是想测试下。。
首先是:
client片段
代码如下 | 复制代码 |
$.getJSON( '/sayHello', function(data){ alert("JSON Data: " + data.testkey); } ); |
结果Firebug观察请求被调用了。但是回调没有执行。。。百度之。。。发现有人遇到类似问题需要在url后面加上callback=?的参数
client片段
代码如下 | 复制代码 |
$.getJSON( '/sayHello?callback=?', function(data){ alert("JSON Data: " + data.testkey); } ); |
回调可以执行了。。但是data.testkey值为undefined。。。
在群里询问,有人说当返回头木有设置的时候,jquery有时会出现得到的结果无法识别为json的现象,于是加上头
node端:
代码如下 | 复制代码 |
app.get( '/sayHello', function(req, res){ res.writeHead(200, {"Content-Type": "application/json"}); res.end(JSON.stringify({testkey:"这是一个Value诶"})); } ); |
再次测试,结果正常鸟。。O(∩_∩)O
但是看着加个 callback=? 这样的尾巴很不爽。。于是。。
又在群里打听。有人说getJSON必须让回调成为第三个参数,于是尝试
代码如下 | 复制代码 |
$.getJSON( '/sayHello', {}, function(data){ alert("JSON Data: " + data.testkey); } ); |
也成功。。
一切正常
查看jQuery代码
代码如下 | 复制代码 |
getJSON: function( url, data, callback ) { return jQuery.get( url, data, callback, "json" ); }, |
按理说getJSON的行为应该和get的行为一样,为避免出现乱码我们在返回头json安心加上"Content-Type"以绝后患。
细心的朋友会发现我在最后面加了一句 在返回头json安心加上"Content-Type" ,这证明和ajax有一点像啊,返回值可能不支持中文出现乱码,所以大家要记住哦。
相关文章
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31
- HTML中空格表示的意义 10-31
- html area标签解读 10-31
- html使用表单标签实现注册页面代码展示 10-31
- 使用HTML截图并保存为本地图片的代码展示 10-31