我目前遇到有关CORS(跨域资源共享)的问题,奇怪的是,当我使用www作为我的网址前缀时,这似乎只会发生。
例如,当我使用网址访问我的网站时:“http://example.com/index”一切正常,所有资源都正确加载。然而,当我尝试使用网址“http://www.example.com/index”访问我的网站时,我收到错误Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://example.com/index. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
我尝试加载的资源是使用以下代码的XML文件:
function loadXML()
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
xmlData = xhttp.responseXML;
initStartShot();
}
};
xhttp.open("GET", "http://example.com/XML/someXMLfile.xml", true);
xhttp.send();
}
我的所有资源文件都与我的网页位于同一个域中。
我已经查看了issues related to mine的SO,但大多数都是关于CORS的,以及如何让它工作。但是看到事实上我没有任何CORS问题而没有“www”前缀这似乎不适用于我的问题。
很遗憾,我无法分享网址,但如果您需要任何其他信息,我会尽力提供。
非常感谢任何帮助。
〜雷米
答案 0 :(得分:1)
LR.train(input_fn=train_input_data,steps = 1)
with tf.Session() as sess:
last_check = tf.train.latest_checkpoint(tf_data)
saver = tf.train.import_meta_graph(last_check + '.meta')
print (last_check +'.meta')
saver.restore(sess, last_check)
######
Model_variables = tf.GraphKeys.MODEL_VARIABLES
Global_Variables = tf.GraphKeys.GLOBAL_VARIABLES
######
all_vars = tf.get_collection(Model_variables)
# print (all_vars)
for i in all_vars:
print (str(i) + ' --> '+ str(i.eval()))
和example.com
起源不同。要成为相同的源,URL方案,主机名和端口必须相同。 <{1}}和www.example.com
的主机名不同。
通过默认,允许JavaScript访问来自同一来源的数据。
您收到有关丢失的CORS权限的错误,因为您尝试从另一个访问一个来源。
有几种方法可以解决这个问题。
www.example.com
和example.com
中的一个是规范的。将HTTP服务器配置为从非规范的重定向到规范的重定向。我推荐第一个选项。
答案 1 :(得分:0)
在回顾我的SO帖子时,我确实发现了这个问题,所以为了将来的参考,我将回答我自己的问题:
在我的XML下载程序中,我使用静态路径../XML/someXMLfile.xml
而不是相对路径var syncClient = new WebClient();
string URI = "https://test-khalid.herokuapp.com/v1/roles/de988992-4db8-4f75-884b-3dba893310e6";
syncClient.Headers.Add("authorization", "invalid-token");
Response.Write(syncClient.UploadString(URI, "PUT", "{\"title\":\"Shomaail Title 1\", \"role_type\":\"3\" }"));
,我还不清楚为什么&#34; www.example.com&#34;和&#34; example.com&#34;被处理为不同的域名,但这解决了我的问题。
编辑:根据@Daniel_Gale他的评论,使用location.hostname也可以。