ajax学习笔记(三)

ajax在服务器端处理XML数据

        首先需要在服务器端返回xml格式文本数据,具体方法可以采用字符串拼接的方式(严格格式要求),但最好采用dom4j框架,感觉最好在vo对象中添加toXMLString方法返回该vo对象xml格式字符串。在服务器端需要设置response.setContentType("text/xml;charset=utf-8");(如果不设置在Firefox中正常IE中会出现异常),在JavaScript中调用XMLHttprequestresponseXML属性返回xml对象。这点处理上firefoxiE又有所不同,firefox不能接受responseXML 必须对responseText进行XML格式化,详见代码部分,然后使用dom中的方法获取xml的节点,再取得具体文本内容。(代码见下)

    

      缓存问题

      IE中如果请求地址相同,IE会调用缓存内容,如果不希望这种结果,可以再调用地址中加入时间戳,使得每次调用地址不同。

//url地址增加时间戳,骗过浏览器,不读取缓存
function convertURL(url) {
    //
获取时间戳
    var timstamp = (new Date()).valueOf();
    //
将时间戳信息拼接到url
    //url = "AJAXServer"
    if (url.indexOf("?") >= 0) {
        url = url + "&t=" + timstamp;
    } else {
        url = url + "?t=" + timstamp;
    }
    return url;
}

     中文乱码问题

    方法1,页面端发出的数据作一次encodeURI,服务器段使用new String(old.getBytes("iso8859-1"),"UTF-8");


   
方法2,页面端发出的数据作两次encodeURI,服务器段使用URLDecoder.decode(old,"UTF-8")

      AJAX应用的五部归纳

     1、创建XMLHttpRequest对象

     2、设置回调函数

     3、使用open方法与服务器建立连接

     4、向服务器端发送数据

     5、在回调函数中针对不同响应状态进行处理并接受服务器端返回数据

              if(window.ActiveXObject){
                 var domObj=xmlhttp.responseXML;
            }else if(window.XMLHttpRequest){
                 var parser = new DOMParser();
                 var domObj= parser.parseFromString(xmlhttp.responseText, "text/xml");
            }
            if (domObj) {
                //dom中利用getElementsByTagName可以根据标签名来获取元素节点,返回的是一个数组
                var messageNodes = domObj.getElementsByTagName("message");
                if (messageNodes.length > 0) {
                    //获取message节点中的文本内容
                    //message标签中的文本在dom中是message标签所对应的元素节点的字节点,firstChild可以获取到当前节点的第一个子节点
                    //通过以下方式就可以获取到文本内容所对应的节点
                    var textNode = messageNodes[0].firstChild;
                    //对于文本节点来说,可以通过nodeValue的方式返回文本节点的文本内容
                    var responseMessage = textNode.nodeValue;
                    //将数据显示在页面上
                    //通过dom的方式找到div标签所对应的元素节点
                    var divNode = document.getElementById("result");
                    //设置元素节点中的html内容
                    divNode.innerHTML = responseMessage;
                } else {
                    alert("XML数据格式错误,原始文本内容为:" + xmlhttp.responseText);
                }
            } else {
                alert("XML数据格式错误,原始文本内容为:" + xmlhttp.responseText);
            }

 

内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模型结合了卷积神经网络(CNN)在特征提取方面的优势与长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模型的预测精度与泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模型训练流程、参数优化机制及实际预测效果分析,突出其在科研与工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习与智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模型与贝叶斯优化相结合,提升模型性能;③掌握Matlab环境下深度学习模型搭建与超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块与混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模型工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值