JS中的SOAP请求:No' Access-Control-Allow-Origin'头

时间:2015-02-21 17:27:32

标签: javascript jquery soap express

我知道有一些关于“No'Access-Control-Allow-Origin'标题”的问题已经存在,但这个问题有所不同。 我保证。通常在过去,我一直在使用RESTful API,但是使用ideone我必须使用SOAP协议,这是我以前从未使用过的。所以,我正在使用doedje's js file向ideone的API发送请求,只是为了让自己更容易。唯一的问题是我遇到了可怕的错误:

XMLHttpRequest cannot load http://ideone.com/api/1/service/createSubmission. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8080' is therefore not allowed access.

我在doedje的文件中看到你可以添加HTTP标头,所以我的请求现在看起来像这样:

$.soap({
                enableLoggin: true,
                url:"http://ideone.com/api/1/service/",
                method:"createSubmission",
                data: {
                    user:ideoneUser[0],
                    pass:ideoneUser[1],
                    HTTPHeaders:{
                        "Origin":"*",
                        "Access-Control-Allow-Headers":"Content-Type"
                    },
                    sourceCode:"console.log(\"Hello\");",
                    language:56,
                    input:"1",
                    run:true,
                    private:false
                },
                sucess: function(soapResponse){
                    console.log(soapResponse.toJSON().key + " " + soapResponse.toJSON().link);
                },
                error: function(soapResponse){
                    console.log(soapResponse.toJSON().error);
                }
            });

重点介绍Access-Control-Allow-Headers和Origin参数。由于我不能使用JSONP发送信息,我必须使用标头。这一切对我来说都是正确的,但我似乎无法让它工作。如果它让你更容易,我可以发送整个Express项目,但我认为这是唯一对问题很重要的部分。

谢谢你的帮助!

0 个答案:

没有答案