Javascript 如何使用ajax POST进行跨源资源共享(CORS)
我需要通过ajax对另一个域站点的控制器类(MVC)的操作进行POST请求来进行跨源资源共享(CORS),这是为了保持会话。我如何做到这一点?我通过将跨域属性设置为true来使用jqueryajax调用 最好能给我看一个代码示例 情景Javascript 如何使用ajax POST进行跨源资源共享(CORS),javascript,jquery,ajax,cross-domain,cors,Javascript,Jquery,Ajax,Cross Domain,Cors,我需要通过ajax对另一个域站点的控制器类(MVC)的操作进行POST请求来进行跨源资源共享(CORS),这是为了保持会话。我如何做到这一点?我通过将跨域属性设置为true来使用jqueryajax调用 最好能给我看一个代码示例 情景 域A-->Ajax调用-->域B以保留域B的会话,直到用户从域A注销。对于此Ajax调用,我计划在域B内使用JS文件您不能将Ajax调用从“域A”中的站点发送到“域B”中的URL浏览器不允许,这是一项安全功能。 您可以做的是向“DomainA”发送一个Ajax请求
域A-->Ajax调用-->域B以保留域B的会话,直到用户从域A注销。对于此Ajax调用,我计划在域B内使用JS文件您不能将Ajax调用从“域A”中的站点发送到“域B”中的URL浏览器不允许,这是一项安全功能。 您可以做的是向“DomainA”发送一个Ajax请求,并让服务器端将该消息中继到“DomainB”。域A到域B(保留会话):太矛盾了,无法共享会话
应该维护安全功能。您有两种可能。您可以在域B上启用CORS,并使用jQueryAjax访问它。请注意,CORS仅在现代浏览器中受支持;尤其是在IE10+中。IE8和IE9有XDomainRequest对象,您可以使用它来执行相同的操作,但它有一些限制。请参阅: 第二种可能是使用动态创建的iframe并在其中创建表单,然后将其发布到域B。代码如下所示:
$("<iframe id='ifr' style='display:none;'></iframe>").appendTo("body");
var iframe = $("#ifr");
iframe.load(function () {
//Do something after iframe has been sent
//At least we need to remove the iframe
iframe.remove();
});
var iframeContents = iframe.contents();
var iframeBody = iframeContents.find("body");
iframeBody.append("<form id='myForm' action='yourURLComesHere' method='post'></form>");
var iframeForm = iframeBody.children("form");
//If you need form values, you can do it like this:
iframeForm.append("<input type='hidden' name='inputName' value='inputValue' />");
iframeForm.submit();
$(“”)。附加到(“正文”);
变量iframe=$(“#ifr”);
iframe.load(函数(){
//发送iframe后执行某些操作
//至少我们需要删除iframe
iframe.remove();
});
var iframeContents=iframe.contents();
var iframeBody=iframeContents.find(“body”);
iframeBody.append(“”);
var iframeForm=iframeBody.children(“形式”);
//如果需要表单值,可以这样做:
iframeForm.append(“”);
iframeForm.submit();
您的声明“域A-->Ajax调用-->域B以保持域B的会话,直到用户从域A注销。对于此Ajax调用,我计划在域B内使用JS文件”完全是自相矛盾的。