2009-12-11 76 views
2

我需要编写一个Google小工具来读取Google小组中的提要。麻烦的是,我正在调用ajax来检索提要,我们的谷歌应用程序域受到CAS(中央身份验证服务)的保护。所以,我打电话时收到了400个不好的要求。通过cas的ajax调用

我怀疑浏览器在进行ajax调用时没有发送cookie。 我如何确保cookie也通过ajax调用发送? 或 如果这不是问题,我需要做什么?

+0

有没有人找到答案?我也有同样的问题。 – 2010-06-03 17:05:29

回答

1

如果您正在进行普通的香草AJAX调用(至少使用jQuery),如果域名子域都不匹配,请求将失败。也就是说,如果您从app.mydomain.com拨打至cas.mydomain.com,该请求将不起作用。

my testing浏览器将发送饼干,正如您所期望的一样,即使在AJAX调用中。

此外,请确保您在呼叫的两端(应用程序和CAS服务器)使用相同的协议(HTTP或HTTPS)。

如果您在Firefox中使用Firebug,您应该会看到与请求一起发送的Cookie。如果他们没有出现在那里,可能会发生其他事情,你必须挖掘。

这里是a similar question,可能是有益的。

0

JASIG CAS消息列表讨论了使用JSESSIONID来克服跨域ajax调用限制。

我有一个similar question询问是否有其他方法。

0
 $.ajax({ 
      type: 'post', 
      dataType: 'script', 
      url:'/some url', 
      data:{}, 
      beforeSend: function(xhr) { 
      xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content')); 
      } 

我有这样的想法是不是中科院与Ajax的一些问题,但我发现,在轨道3的内容属性应该POST请求

可能b。您都面临着同样的事情被发送。我已经分享了哪些帮助我。