【发布时间】:2016-06-02 18:23:18
【问题描述】:
潜伏了很长时间,是时候问我的第一个问题了……
我在使用 AJAX 查询时遇到了问题,该查询在迁移到 AWS 之前可以正常工作。
以前,我的网站托管在 WAMP 服务器上进行测试和开发,以下相关代码运行良好。
//Read XML file from disc and send file content to other functions\\
function Get_XML_File(){
var XML_File_Path = File_Path + Client_Code + '/' + ID + '/' + ID + '_Analysed_Wave.web'
var xhttps = new XMLHttpRequest();
xhttps.onreadystatechange = function() {
if (xhttps.readyState == 4 && xhttps.status == 200){
Read_Meta_Data(xhttps)
Read_Time_Status(xhttps)
Read_Wave_Height(xhttps)
;}
};
xhttps.open("GET", XML_File_Path, true);
xhttps.send();
}
//Extract Header Data from XML file\\
function Read_Meta_Data(xml) {
var xmlDoc = xml.responseXML;
// Client//
var Client_ID = xmlDoc.getElementsByTagName('Client_ID')[0].childNodes[0]
var Client_Name = xmlDoc.getElementsByTagName('Client_Name')[0].childNodes[0]
最近,此站点已通过 AWS 迁移到 Elastic Beanstalk 发行版。
“www.atmocean.com.au”已使用 AWS 证书管理器配置了 SSL 证书。
“assets.atmocean.com.au”也包含在 SSL 证书中,并映射到 S3 存储桶的云端分发。
在 S3 存储桶中包含带有 .web 后缀的 xml 格式文件(这些文件由专有软件生成。)
查看相关网页时,chrome控制台显示如下错误:“Uncaught TypeError: Cannot read property 'getElementsByTagName' of null”
此错误与此行有关:
var Client_ID = xmlDoc.getElementsByTagName('Client_ID')[0].childNodes[0]
我无法理解的是,当查看开发者控制台的“网络”选项卡时,资源显示为正确加载,状态码为 200。 此外,可以在“响应”选项卡中查看文件内容。
这是否意味着文件已从服务器正确下载到客户端?
如果是这样,为什么以前可以正常运行的代码现在无法获取文件内容?
除了标准网站配置之外,是否需要通过弹性 beantalk(或其他方式)进行配置?
感谢期待。
【问题讨论】:
标签: ajax amazon-web-services amazon-elastic-beanstalk