作者knives ()
看板Ajax
标题Re: [问题] 请问用nodejs搭配restify怎麽用cookie
时间Thu Mar 14 14:16:29 2013
我後来用php 当restful server,一样做相同的cookie的写入动作
php:
setcookie("user_id", 'xxxx',time()+3600,'/');
nodejs+express
res.cookie("user_id","xxxx",{ domain :'/'});
两边的header宣告都一样
我在backbone的model在success回传事件加上
var t = $.cookie('user_id');
console.log('cookie:'+t);
发现只有php当server在console会显示正确的值
nodejs会显示null
我也有开firebug观察,两边都有送出cookie,header也宣告一样
惟一不一样的地方就是一个开80 port,另外一个是开3000
※ 引述《knives ()》之铭言:
: 我想透过restify 这个套件,去实作restful
: 不过我client端用backbone 去呼叫 restful的 服务
: 我的cookie是用require('cookies'); 去操作
: 我在nodejs设定了一条路由
: server.get('/set', function (req, res) {
: setCookies(req, res)
: res.json({ status : 'ok'})
: });
: function setCookies(req, res) {
: var cookies = new Cookies(req, res, keys)
: cookies
: .set('unsigned', 'foo') ;
: }
: 我直接在网址打上 http://localhost:3000/set 直接去呼叫
: 开firebug去看,的确是有这个cookie
: 可是我透过我写的backbone 去呼叫 restful
: cookie根本没有运作
: 因为我另外用requirejs,所以就写成这样
: define([
: 'backbone'
: ], function(Backbone) {
: var User = Backbone.Model.extend({
: url: 'http://localhost:3000/set'
: });
: return User;
: });
: 请问要怎麽改才能顺利操作cookie
: 谢谢回答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.137.249.66
1F:推 Fantasywind:考虑直接看Response的Header有没有作Cookie设定 03/20 19:06