我们需要啥来创建 CORS? [复制]

Posted

技术标签:

【中文标题】我们需要啥来创建 CORS? [复制]【英文标题】:What we need to create CORS? [duplicate]我们需要什么来创建 CORS? [复制] 【发布时间】:2013-08-30 11:29:18 【问题描述】:

我对这个 CORS 感到困惑?? :-(

我只是请求你一点帮助。什么是使用 javascript CORS 的 XMLHttpRequest 的完整源代码。我如何从发送的服务器获取 json 数据。如果我可以使用地址栏访问 json 文件。我如何从中获取这些数据?

这是 Json 文件“Data.json”

"JsonProjectIDResult": ["_capacity": 15,"_description": "Meeting Room","_dev_default_view": 3,"_deviceID": 1,"_deviceName": "MobiTech","_deviceTypeID": 1,"_projectID": 1,"_roomID": 2,"_roomName": "Room2","_room_admin_mail": null] 

这里是我的 home.html 简单脚本

var resultDiv = document.getElementById("results");
var newsURL = "http://10.1.128.106/JsonDohaBackToTemplate/getProjectIDByMAC.svc/mac/10:95:84:11:00:05";
var e;
if (window.XMLHttpRequest) 
    // code for IE7+, Firefox, Chrome, Opera, Safari
    e = new XMLHttpRequest();
 else 
    // code for IE6, IE5
    e = new ActiveXObject("Microsoft.XMLHTTP");

e.onreadystatechange = function() 
    var html = " ";
    if (e.readyState == 4 && e.status == 200) 
        response = JSON.parse(e.responseText);

        if(typeof(e.responseText)==="string") 
            d = e.responseText;
         else 
            if (typeof(e.responseXML)==="object") 
                d = e.responseXML;
            ;
        
        var myData = response['JsonProjectIDResult'];
        //Loop
        var html = "<ul>";
        var counter = 0;
        for(var prop in myData[counter]) 
            if(myData[counter].hasOwnProperty(prop))
            html += "<li>" + prop + " = " + myData[counter][prop] + "</li>";
        
        resultDiv.innerHTML = html;
    
;
e.open("GET", newsURL, true);
e.send();

【问题讨论】:

你的服务器上有什么? CORS 是您需要在服务器上设置的东西。看看enable-cors.org 【参考方案1】:

使用 CORS 不需要更改 JavaScript。它由正在向其发出请求的服务器发送的 HTTP 标头处理。

example.com 有想要从 example.net 读取的 JavaScript。 example.net 必须使用 CORS 来授予 example.com 读取该数据的权限。

在最基本的情况下,example.net 需要包括:

Access-Control-Allow-Origin: http://example.com

在响应标头中。

更复杂的情况可能还需要为飞行前 OPTIONS 请求设置这些标头。

更多详情请访问MDN。

【讨论】:

以上是关于我们需要啥来创建 CORS? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 需要配置啥来处理基于 CoffeeScript 的模板?

错误 c3867,不知道我需要做啥来修复

用啥来代替 JavaScript 中的类? [复制]

我需要啥来管理 XML 文件?

我需要做啥来修复我的 Heroku 构建?

我想创建一个可滚动的弹出列表窗口,但我不知道从哪里开始。我用啥来做这个?