Iframe 在dojo中发送跨域帖子

Iframe 在dojo中发送跨域帖子,iframe,dojo,cors,Iframe,Dojo,Cors,我尝试过执行XHR请求和iframe方法,但这两种方法都会导致死路一条。当我使用XHR请求时,我会得到(预期的)CORS异常,但当我使用iframe时,我无法发送JSON数据 有人知道怎么做吗 require(["dojo/request/iframe", "dojo/json"], function(iframe, JSON){ var json = JSON.stringify({"bindingName":"iasistwebservice", "method":"helloWor

我尝试过执行
XHR
请求和
iframe
方法,但这两种方法都会导致死路一条。当我使用
XHR
请求时,我会得到(预期的)CORS异常,但当我使用
iframe
时,我无法发送JSON数据

有人知道怎么做吗

require(["dojo/request/iframe", "dojo/json"], function(iframe, JSON){
    var json = JSON.stringify({"bindingName":"iasistwebservice", "method":"helloWorld", "params": []});
    iframe("http://10.10.51.49:8080/TestProject/restservices/AsistWebService", {
        data: json,
        handleAs: "json",
      }).then(function(data){
        alert ( data );
      });
});

我已经在Tomcat(运行REST服务的地方)上设置了适当的头文件(和相应的过滤器)

主要问题是,这是一个飞行前请求(选项请求,在验证后,后续请求将出现)

我通过向Tomcat(Tomcat安装目录-->conf-->web.xml)添加默认CORS过滤器解决了这个问题:


克斯菲尔特
org.apache.catalina.filters.CorsFilter
克斯菲尔特
/*
注意:CORS过滤器集成在V7.0.41(如果我错了请纠正我)及以上版本中


可以使用Dojo中的
XHR
请求来完成请求。

您可能需要在XHR请求中设置头。这是一个可能有用的方法。xhr请求内容中有一个“headers”属性。您可能必须使用xhr来发送json。我尝试了各种xhr请求的头,但都不起作用。这就是为什么我试图通过使用iframe来实现我的目标。当我使用Firefox的RESTClient插件时,我能够得到响应。在这之后,我用HTTPLiveHeaders插件查看了标题,并尝试设置与成功请求相同的标题,但仍然不起作用。
<filter>
    <filter-name>CorsFilter</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CorsFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>