天黑请闭眼杀人游戏中一开启游戏会出现data/http scr是什...

君,已阅读到文档的结尾了呢~~
天黑请闭眼的游戏说明游戏,指南,规则,天黑请闭眼,游戏规则,游戏的规则
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
天黑请闭眼的游戏说明
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口请教一个在http.request response事件中的嵌套data事件中http跳转问题(已解决,statusCode错误地取默认值200所致) - CNode技术社区
这家伙很懒,什么个性签名都没有留下。
我按照如下流程执行了一序列的嵌套操作
1,普通的get请求handler
2,发起post请求
3,post请求的response事件的handler
3,注册post请求的response对象的data事件
4,data事件中使用1中的response对象通过setHeader执行跳转
但实际的结果是在浏览器端仍然停留在1中的请求上,并没有执行4中所执行的跳转。本人也是刚开始学习nodejs,不明白问题出在哪里。恳请对此熟悉的大侠指点一下!先谢过!
补充一下4中有设置statusCode和end()调用,没有遗漏什么东西
感谢朴灵的回复,代码如下
app.get('/weibo', function(req, res){
if (!req.query.code)
console.log(req.query);
res.statusCode = 400;
res.end('error: '+req.query.error_description);
var data = ['client_id='+weibo.config.client_id,
'client_secret='+weibo.config.client_secret,
'grant_type=authorization_code',
'redirect_uri='+weibo.config.redirect_uri,
'code='+req.query.code].join('&');
httpclient.post('https:///oauth2/access_token', data, function(resp){
console.log('weibo.token string: '+resp);
weibo.token = JSON.parse(resp);
console.log('weibo.token.access_token: '+weibo.token.access_token);
console.log('now we will go back to /');
res.statucCode = 302;
res.setHeader('Location', '/');
res.end();
/weibo是weib open api的回调uri,是正常从
跳转回来的,实际console打印中有
weibo.token string:
weibo.token.access_token:
now we will go back to /
的输出,但是没有跳转;app.get()实现是《深入浅出nodejs》中的example,就不列举了;httpclient是对http.request/https.request直观的封装,代码如下
var httpclient = {};
httpclient.post = function(u, data, callback){
var urlparts = url.parse(u, true);
if (urlparts.protocol === 'http:')
request = http.request({
hostname: urlparts.host,
port: urlparts.port || 80,
method: 'POST',
path: urlparts.pathname
else if (urlparts.protocol === 'https:')
request = https.request({
hostname: urlparts.host,
port: urlparts.port || 443,
method: 'POST',
path: urlparts.pathname
console.error('unsupported protocol: '+urlparts.protocol);
request.on('response', function(res){
res.on('data', function(d){
callback(d.toString());
request.setHeader('Content-Type', 'application/x-www-form-urlencoded');
request.setHeader('Content-Length', data.length);
request.end(data);
module.exports =
很有意思的问题。
客户端发出的GET /weibo,是不是一个Ajax请求?
打开Chrome浏览器开发者工具,转到&Network&页面,然后重新走一遍请求流程,在&Network&页面中查看服务器返回的响应是什么。可能客户端已经收到服务器返回的跳转响应,只是它没有跳转而已。
不是ajax请求,是
响应中Location的header跳过来的,如下
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.2.0
Date: Mon, 30 Jun :37 GMT
Content-Length: 0
Connection: keep-alive
Pragma: No-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan :00 GMT
Api-Server-IP: 10.75.25.115
已经在Chrome中如此跟过了,在/weibo的响应中的确有Location: /的header,但statusCode竟然是200,而不是预期的302,如下
HTTP/1.1 200 OK
Location: /
Date: Mon, 30 Jun :36 GMT
Connection: keep-alive
Transfer-Encoding: chunked
我想没能跳转应该是和这个有直接关系吧!
抱歉是因为一个很弱智的错误!最终跳转时statusCode错写成res.statucCode,修正后解决了!
如此看来,若没有明确指定response的statusCode,在调用end()之后,默认成200了?
解决了就好,我还特意去翻了翻Express框架中response.redirect()的实现代码,呵呵。
仍然谢谢!还是因为对nodejs不熟悉。要去安心学习了!
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的

参考资料

 

随机推荐