//根据URL获取文件名,可作为每页的唯一标识
window.hbh.getUrlName=function(url){
var wz1=url.lastIndexOf("/");
var wz2=url.lastIndexOf(".");
return url.substring(wz1+1,wz2);
}
//AJAX异步请求,将内容中的JS写在HEAD中,使JS内容生效,将剩下的HTML代码返回
window.hbh.ajax=function(url,callback){
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
var data=xmlhttp.responseText;
var htmlCode=data.replace(/<script[^>]*>([\s\S]*?)<\/script>/mgi,"");
callback(htmlCode);
if(htmlCode!=data){
var dialogId=hbh.getUrlName(url);
if(!document.getElementById(dialogId+"Js")){
var script=document.createElement("script");
script.type='text/javascript';
script.id=dialogId+"Js";
script.text=data.replace(/[\s\S]*?<script[^>]*>([\s\S]*?)<\/script>[\s\S]*?/mgi,"$1");
document.getElementsByTagName('head')[0].appendChild(script);
}
}
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
分享到:
相关推荐
附件中的代码把异步请求包装成为update函数,举例: update(myDivObj,"myUrl","Post Params"); 这样,服务器端的"MyUrl“的返回结果就会自动写到myDivObj中了。第三个参数使用Post方法传递的信息。
本文给大家分享一个自己写的基于原生JS写Ajax的请求函数功能,需要的朋友可以参考下
使用ajax进行 JSONP跨域请求,因为被请求的对方的回调函数名称是无法修改,想到设置AJAX 的JSONP参数。但是发现根本不起作用。最后偶然发现 jsonpcallback是区分大小写的
但是,如果其中一个ajax请求的代码不是你写,你改不了,怎么办? 又或者说,你只想知道某个url请求什么时候结束,不想管其他的请求,怎么弄? <!DOCTYPE html> <html lang="en"> <head> <meta ...
我想通过send.htm Ajax,在点击按钮事件中调用后台的函数。在send.htm中显示后台Back.cs中返回的字符串“You have arrived at BackStage”。 现在的问题是,设置send.htm为起始页,页面还没加载完毕就运行到了后台...
封装了一个ajax多文件上传,功能就是选择多个文件,ajax...调用方式很简单,写一个json对象做为参数配置,设置要上传url以及事件处理函数,new一个AjaxUploadX对象,调用selectFiles方法选择文件,调用uplaod方法上传。
2.5.4 使用回调函数监视请求 2.5.5 完整的生命周期 2.6 Ajax有何不同 2.7 小结 2.8 资源 第3章 使AjaX秩序井然 3.1 从混沌到秩序 3.1.1 模式:创造通用的词汇表 3.1.2 重构与Ajax 3.1.3 保持均衡 3.1.4 重构实战 3.2...
今天终于解决了AJAX的中文乱码问题,写篇文章来帮助一下有同样问题的朋友们。我的开发环境:XP, eclipse,使用GB18030编码。 当遇到这个问题时,到网上去查了好多文章,提到几种解决方案,如:全站UTF-8编码;请求头...
那是因为response原因,一般请求浏览器是会处理服务器输出的response,例如生成png、文件下载等,然而ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的。文件的下载是以二进制形式进行的,虽然可以...
用JavaScript写AJAX前面已经介绍过了,主要问题就是不同浏览器需要写不同代码,并且状态和错误处理写起来很麻烦。 用jQuery的相关对象来处理AJAX,不但不需要考虑浏览器问题,代码也能大大简化。 ajax jQuery在...
博主自己在开发一个无后台,只有前台的查询系统时,遇到一个困难,如何利用Ajax读取自己的本地json文件,百度、谷歌了下,发现大部分文章都是在说修改浏览器参数,但是自己想想,用户在使用时,还要修改浏览器的参数...
由于现在Web应用程序通常提供以桌面应用程序格式(例如.doc或.xls)导出数据的选项,因此我们编写了一个jQuery插件来促进来自前端的请求,这些请求导致文件下载。 该插件实际上并没有使用Ajax,但是其语法遵循...
之前做项目时候,用到一个表格控件,它的数据是异步加载的,我在这个表格绑定数据的函数下面友做了一些业务处理,运行页面的时候,用浏览器在我写业务处理那地方打上断点跟踪,它确实执行了,可以最后显示的时候,它...
甚至不再需要编写 servlet 代码把 Ajax 请求调整成对 Java 域对象的调用。 DWR 是作为 Web 应用程序中的 servlet 部署的。把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,DWR 动态地...
原生JS,瀑布流的工具函数,不是必须下载,功能:ajax请求,获取窗口滚动;可以自己写出来
function createAjax() { //该函数将返回XMLHTTP对象实例 var _xmlhttp; try { _xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); //IE的创建方式 } catch (e) { try { _xmlhttp=new XMLHttpRequest...
几个月前,因为项目需求,我写了下面的三个ajax相关的函数。发布出来和大家分享。第一个是用来无刷新加载一段HTML第二个是把表单数据转换成一串请求字符串第三个是结合函数一和函数二的无刷新提交表单实现。 还有...
// 第六步 编写回调函数,处理服务器返回的结果 function getReadyStateHandler() { //function getReadyStateHandler(req, responseXmlHandler) { // Return an anonymous function that listens to the ...