为了更好地说明我的问题,问题可能是:
我可以从 JSONP 请求发起会话吗?
更详细:假设从我的浏览器向 myserver.com 发出 JSONP 请求。myserver.com 是否可以通过 JSONP 响应设置 cookie,以便稍后再次向 myserver.com 发出请求时(直接当 doc.host = myserver.com 或间接通过来自任意 doc.host 的另一个 JSONP 请求)那些cookies会发送给它吗?目前,浏览器似乎忽略了我使用 JSONP 响应发送的 cookie。我想要的可能吗?我在这里想念什么?
编辑:这是我做的请求,通过一个虚拟的本地 html 加载本地 js 文件,该 html 只获取最新的 jquery 并加载 js 文件:
$.ajax({
url: "http://my-remote-server/jsonp/service/test",
dataType: 'jsonp',
data: {some:'data'},
success: function(responseData)
{console.log(responseData);}
});
上述 JSONP 请求的响应,是设置一个 cookie。由于 chrome 报告了这一点,这一点得到了证实。问题是,如果我只是重新执行上述第二次,之前设置的 cookie 不会发送回服务器。
编辑 2:我去了 Chrome cookie 浏览器(在幕后页面中),但我找不到 cookie,尽管在 JSONP 响应中收到报告(chrome 的调试控制台)。这意味着服务器发送它,浏览器看到它然后将其丢弃。