通过$.ajax()站点登录后,我尝试$.ajax()向该站点发送第二个请求- 但是,当我检查使用FireBug发送的标头时,请求中不包含会话cookie。
$.ajax()
我究竟做错了什么?
如果您要调用的URL与您的调用脚本位于同一域中,则AJAX调用仅发送Cookie。
这可能是跨域问题。
也许您www.domain-a.com是在调用脚本打开时尝试从url 调用的www.domain-b.com(换句话说:您进行了跨域调用,在这种情况下,浏览器将不会发送任何cookie来保护您的隐私)。
www.domain-a.com
www.domain-b.com
在这种情况下,您可以选择:
编写一个小型代理,该代理位于域b上,并将您的请求转发到域a。您的浏览器将允许您调用代理,因为它与调用脚本位于同一服务器上。 然后,您可以配置此代理以接受可以发送到domain- a的cookie名称和值参数。但是,要使其正常工作,您需要知道cookie的名称,并在域上对服务器进行估价-想要进行身份验证。
如果您要获取JSON对象,请尝试使用JSONP请求。jQuery支持这些。但是您需要在domain-a上更改服务,以便它返回有效的JSONP响应。
很高兴,即使有帮助。