Javascript 如何使用cookie发送跨域ajax请求
我正在开发一个SaaS应用程序,用户在我的SaaS系统中创建帐户并登录。然后,SaaS应用程序有一个JS代码,客户应该在他们的网站中包含这个JS代码,在代码中,我需要向我的SaaS域发送一个Javascript 如何使用cookie发送跨域ajax请求,javascript,ajax,node.js,cookies,saas,Javascript,Ajax,Node.js,Cookies,Saas,我正在开发一个SaaS应用程序,用户在我的SaaS系统中创建帐户并登录。然后,SaaS应用程序有一个JS代码,客户应该在他们的网站中包含这个JS代码,在代码中,我需要向我的SaaS域发送一个POSTAjax请求(这是一个跨域请求) 问题是,为了共享登录用户的凭据,我必须将with Credentials属性和访问控制允许凭据标题设置为true 我不确定这是不是一个好办法?也许我应该使用另一种方法,比如使用OAuth或其他东西来共享登录用户的凭据 如有任何建议,我将不胜感激 您需要使用JSONP作
POST
Ajax请求(这是一个跨域请求)
问题是,为了共享登录用户的凭据,我必须将with Credentials
属性和访问控制允许凭据
标题设置为true
我不确定这是不是一个好办法?也许我应该使用另一种方法,比如使用OAuth或其他东西来共享登录用户的凭据
如有任何建议,我将不胜感激 您需要使用JSONP作为您的类型:
$.ajax(
{
type: "POST",
url: "http://test.com/api/getlist.json",
dataType: 'jsonp',
xhrFields: {
withCredentials: true
},
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader("Cookie", "session=xxxyyyzzz");
},
success: function(){
alert('success');
},
error: function (xhr) {
alert(xhr.responseText);
}
}
);
要启用具有凭据的跨域请求,服务器应支持。启用CORS后,您的客户端代码可以添加
,并将凭据设置为true
,以在请求中包含cookie。JSONP
和POST
动词?你认为有可能吗?我已经说过我知道有身份证的人做什么。我需要另一个解决方案…1)您的用户是如何登录的?通过cookies(这是您的标题所建议的)或身份验证
标题(也称为htaccess-我理解访问控制允许凭据
的作用)。2) 你目前的方法是否有效?