What we need to create CORS?
本问题已经有最佳答案,请猛点这里访问。
我把这两个胸衣搞混了??
我只是向你求助。使用javascript cors的xmlhttpRequest的完整源代码是什么?如何从发送的服务器获取JSON数据。如果我可以使用地址栏访问JSON文件。如何从中获取数据?
这是json文件"data.json"
1 | {"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}]} |
这里是my home.html简单脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 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不需要更改JavaScript。它是通过发送请求的服务器发送的HTTP头来处理的。
也就是说,
最基本的是,
1 | Access-Control-Allow-Origin: http://example.com |
在响应头中。
更复杂的情况可能也需要为飞行前选项请求设置这些头段。
更多详细信息可在MDN上找到。