XMLHttpRequest失败飞行检查

时间:2016-05-11 09:28:29

标签: ajax xml cors

我正在尝试使用XMLHttpRequest从外部网站/提供商使用AJAX将XML数据打印到网页中。不幸的是他们没有启用CORS。浏览器检查器控制台因此声明:

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点'null'访问。

我曾尝试恳求其他开发人员启用CORS,但他们没有这样做。使用JSONP不起作用,因为他们坚持认为他们的数据是XML。

他们的开发人员现在告诉我,这需要在服务器端而不是客户端完成。这似乎是我作为前端开发人员的头脑。我甚至不知道从哪里开始。

我已经完成了Google搜索,但我没有运气。我知道我的服务器环境是我认为的Windows服务器。它是一个政府教育服务器,因此很难找到更多有关它的信息。

无论如何,这是我的JS页面代码:

    <script type="application/javascript">

    var Connect = null; // cor stands for Cross-Origin request

    if (window.XMLHttpRequest) {
        Connect = new XMLHttpRequest();
        alert("CORS supported")
    }
    //else if (window.XDomainRequest) {
        //cor = new XDomainRequest();
    //}
    else {
        alert("Your browser does not support Cross-Origin request!");
    //    return;
    }

        //define which file to open and send the request
        Connect.open("GET", "https://lrm.wisenet.co/pub/online-enrolment-links.ashx?key=q5DbpLXB9cZps1Hu8r6Z7Q%3d%3d", true);
        Connect.setRequestHeader("Content-Type", "text/xml");
        Connect.send(null);

        //1 Name
        //2 Description
        //3 Location
        //4 Fees
        //5 Concessions
        //6 Start Date
        //7 End Date
        //8 Detail URL
        //9 Enrol URL

        //Place response in an XML document
        var TheDocument = Connect.responseXML;

        //Place the root node in an element
//        var Courses = TheDocument.childNodes[0];
//        console.log(Courses);
//        
//        //Retrive each course in turn.
//        for (var i=0; i < Courses.children.length; i++){
//            var Course = Courses.children[i];
//            
//            //Access each of the data values
//            var name = Course.getElementsByTagName("Name");
//            var description = Course.getElementsByTagName("Description");
//            var location = Course.getElementsByTagName("Location");
//            var fees = Course.getElementsByTagName("Fees");
//            var concessions = Course.getElementsByTagName("Concessions");
//            var startDate = Course.getElementsByTagName("StartDate");
//            var endDate = Course.getElementsByTagName("EndDate");
//            var detailUrl = Course.getElementsByTagName("DetailURL");
//            var enrolUrl = Course.getElementsByTagName("EnrolURL");
//            
//            //Write the data to the page in a table
//            document.write("<tr><td>");
//            document.write(name[0].textContent.toString());
//            document.write("</td><td>");
//            document.write(description[0].textContent.toString());
//            document.write("</td><td>");
//            document.write(location[0].textContent.toString());
//            document.write("</td><td>");
//        }
    </script>

是否有可能获得这个工作服务器端?我应该采取什么方法?我只是觉得我不能解决这个CORS问题。

0 个答案:

没有答案