解决方案 »
- faseIn()没有反应
- 怎么利用javascript外部文件制作表格?
- 100求助,如何实现子页面的跨域之间调用的问题
- javascript动态增加表格行,在行的text框中用jquery选择输入项无效
- 求教EXTJS读取json的方法
- 如何在前台用js读取datagrid中的TextBox的值
- js判断页面内所有div的style==急需解决,在线等待!!==
- 弹出窗口如何触发opener窗口中的事件?在线...解决即时揭帖,谢谢!
- 送分问题:为何滚屏代码不工作 ?
- jQuery:My97DatePicker获取选中日期
- ext 在tabpanel中引用gridpanel出现显示问题
- 需要一段javascript代码
me.request.onreadystatechange = me.callback;
}else{
me.request.onreadystatechange = me.callback();
}不知道跟括号有关系不,俺试下先~
me.request.onreadystatechange = me.callback;
}else{
me.callback();
}貌似这样可以~猜测:是不是同步的情况下用不到回调。
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
LZ也可以看看jquery里面是怎么实现,参考下。
* 用法试例:
* var obj = new myAjax();
* obj.send(url, "post", data, false, function(data){});
* -
* args_1 | 提交路径
* args_2 | 提交方式(get、post)
* args_3 | 提交数据(数组)
* args_4 | 是否同步(true-异步[默认],false-同步)
* args_5 | 回调函数
* -
* obj.request.responseText是服务器端(php)返回的数据,可以根据它来进行后续的判断
*/
var myAjax = function(){
var me = this;
this.args = arguments;
this.execCallBack = ""; this.createxmlHttpRequest = function(){
if(!me.request){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
}else{
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
} this.send = function(){
me.request = me.createxmlHttpRequest();
var send = "";
for(var item in arguments[2]){
send += "&" + item + "=" + arguments[2][item];
} if(arguments[1].toLowerCase() == "post"){
url = arguments[0];
}else{
url = arguments[0] + send
send = null;
} me.request.open(arguments[1].toLowerCase(), url, arguments[3]);
me.execCallBack = arguments[4];
if(navigator.userAgent.indexOf("Firefox") <= 0 && !arguments[3]) {
me.request.onreadystatechange = me.callback;
}
me.request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
me.request.send(send);
if(!(navigator.userAgent.indexOf("Firefox") <= 0 && !arguments[3])) {
if(arguments[3]){
me.request.onreadystatechange = me.callback;
}else{
me.request.onreadystatechange = me.callback();
}
}
} this.callback = function(){
if (me.request.readyState == 4 && me.request.status == 200){
new me.execCallBack(me.request.responseText);
}
}
}