AJAX 异步(JavaScript 和 XMLHTTP)

简介:
  < script >

function  objAjax()
{
var  objxml = false ;
  
// 尝试创建Microsoft IE浏览器支持的对象
  try  {
objxml 
=   new  ActiveXObject( " Msxml2.XMLHTTP " );
catch  (e) {
try  {
objxml 
=   new  ActiveXObject( " Microsoft.XMLHTTP " );
catch  (e) {
aobjxml 
=   false ;
}
}
  
// 如果创建不成功,则尝试创建非Microsoft IE浏览器支持的对象
  if  ( ! objxml  &&   typeof  XMLHttpRequest != ' undefined ' ) {
objxml 
=   new  XMLHttpRequest();
}
return  objxml;
}

 


function  openurl(url)
{
   
var  objxml = objAjax();
  
//   var objxml=new ActiveXObject("Microsoft.XMLHttp") //建立

    objxml.open(
" GET " ,url, false );  // 打开
    objxml.send();  // 发送
    retInfo = objxml.responseText; 接收 返回文本字符串
   
 
if (objxml.readyState  ==   1 )   // 初始化
       {
            document.getElementById(
" aboutproDiv " ).innerHTML  = " 正在加载数据... " ;
        }

    
if (objxml.readyState  ==   4 )   // 数据接收完毕
            { 
               document.getElementById(
" aboutproDiv " ).style.display = " none " ; // 隐藏
                 return  retInfo;
    }
    
else
    {
    
return   " -2 " ;
    }
}

function  checkapp(form){
    infoBoard
= document.getElementById( " aboutpro_i " );
    myurl
= " getdis.aspx?pid= " +<!-- @proId@ -->+ " &rnd= " + Math.random();
    
var  retCode  =  openurl(myurl);
    
switch (retCode){
        
case   " -2 " : infoBoard.innerHTML = ' 该商品暂无评论 ' ; break ;
         
default :{
                  infoBoard.innerHTML
= retCode;              
                 }
break ;
    }
    
return
}

 
< / script>

 




< body onload = " checkapp() " >

 

 
< div id = " aboutpro_i " >
< DIV id = aboutproDiv  > 正在加载中... </ DIV >
  
<!-- @item@ -->
               
</ div >

 

// getdis.aspx  cs代码

  
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
if  (Request[ " pid " !=   null )
        {
            
string  strReturn  =   " 该商品暂无评论... " ;
            
string  strSql  =   " select * from cuspro where pid= " + Request[ " pid " ].ToString() + "  order by id desc " ;
            chat c 
=   new  chat();
            DataTable dt 
=  c.SqlselectPro(strSql, 2 );
            
if  (dt.Rows.Count  >   0 )
            {
                strReturn 
=   "" ;
            
              
foreach (DataRow dr  in  dt.Rows)
              {
                  
string  re = dr[ " reply " ].ToString();
                  
if  (re  !=   "" )
                  {
                      strReturn 
+=   " <div class='protitle'>评论者: "   +  dr[ " mname " ].ToString()  +   "      "   +  dr[ " ctime " +   " &nbsp;&nbsp;对  "   +  dr[ " pname " ].ToString()  +   "  评论!</div> " ; ;
                   
                      strReturn 
+=   " <div class='aboutproitem'> "   +  dr[ " items " ].ToString()  +   " </div> " ;
                      strReturn 
+=   " <div class='aboutproitem1'> "   +  dr[ " reply " ].ToString()  +   " </div> " ;
                  }
                  
else
                  {

                      strReturn 
+=   " <div class='protitle'>评论者: "   +  dr[ " mname " ].ToString()  +   "      "   +  dr[ " ctime " +   " &nbsp;&nbsp;对  "   +  dr[ " pname " ].ToString()  +   "  评论!</div> " ; ;
                 
                      strReturn 
+=   " <div class='aboutproitem'> "   +  dr[ " items " ].ToString()  +   " </div> " ;
                  }
              }
            }
            Response.Write(strReturn);
        }
    }

    本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2009/09/12/1565328.html,如需转载请自行联系原作者

相关文章
|
28天前
|
前端开发 JavaScript 数据处理
在JavaScript中,异步函数是指那些不会立即执行完毕,而是会在未来的某个时间点(比如某个操作完成后,或者某个事件触发后)才完成其执行的函数
【6月更文挑战第15天】JavaScript中的异步函数用于处理非同步任务,如网络请求或定时操作。它们使用回调、Promise或async/await。
26 7
|
2月前
|
前端开发 JavaScript UED
深入理解 JavaScript 同步和异步,让网页灵动起来!
深入理解 JavaScript 同步和异步,让网页灵动起来!
|
10天前
|
XML 前端开发 JavaScript
JavaScript进阶 - AJAX请求与Fetch API
【7月更文挑战第3天】前端开发中的异步基石:AJAX与Fetch。AJAX,使用XMLHttpRequest,处理跨域、回调地狱和错误处理。Fetch,基于Promise,简化请求,但需注意默认无跨域头和HTTP错误处理。两者各有优劣,理解其问题与解决策略,能提升前端应用的性能和用户体验。
|
18天前
|
自然语言处理 JavaScript 前端开发
JavaScript闭包是函数访问外部作用域变量的能力体现,它用于封装私有变量、持久化状态、避免全局污染和处理异步操作。
【6月更文挑战第25天】JavaScript闭包是函数访问外部作用域变量的能力体现,它用于封装私有变量、持久化状态、避免全局污染和处理异步操作。闭包基于作用域链和垃圾回收机制,允许函数记住其定义时的环境。例如,`createCounter`函数返回的内部函数能访问并更新`count`,每次调用`counter()`计数器递增,展示了闭包维持状态的特性。
30 5
|
16天前
|
前端开发 JavaScript
Promise是JavaScript解决异步问题的构造器,代表未来的不确定值。
【6月更文挑战第27天】Promise是JavaScript解决异步问题的构造器,代表未来的不确定值。它避免了回调地狱,通过链式调用`.then()`和`.catch()`使异步流程清晰。
18 2
|
24天前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
|
4天前
|
XML 前端开发 JavaScript
JavaScript进阶 - AJAX请求与Fetch API
【7月更文挑战第9天】JavaScript进阶:AJAX与Fetch API对比。AJAX用于异步数据交换,XMLHttpRequest API复杂,依赖回调。Fetch API是现代、基于Promise的解决方案,简化请求处理。示例:`fetch(&#39;url&#39;).then(r =&gt; r.json()).then(data =&gt; console.log(data)).catch(err =&gt; console.error(err))`。注意点包括检查HTTP状态、错误处理、CORS、Cookie和超时。Fetch提高了异步代码的可读性,但需留意潜在问题。
|
8天前
|
前端开发 JavaScript API
js【详解】ajax (含XMLHttpRequest、 同源策略、跨域、JSONP)
js【详解】ajax (含XMLHttpRequest、 同源策略、跨域、JSONP)
15 0
|
8天前
|
JavaScript 前端开发 API
js 【详解】异步
js 【详解】异步
9 0
|
1月前
|
前端开发 JavaScript 开发者
JavaScript中的异步操作与回调地狱解决方法
JavaScript中的异步操作与回调地狱解决方法 在现代的Web开发中,JavaScript扮演着极为重要的角色,尤其是在处理网络请求、文件操作或者任何可能耗费时间的操作时。为了不阻塞程序的执行,JavaScript 提供了异步编程模型。本文将介绍JavaScript中的异步操作是什么,什么是回调地狱,以及如何解决回调地狱问题。 什么是异步操作? 异步操作指的是那些不会立即完成的操作,程序可以在等待异步操作完成的同时,继续执行其他代码。JavaScript通常使用事件循环机制处理异步操作,这使得它可以在不阻塞主线程的情况下执行任务。 常见的异步操作包括: 网络请求(如使用 XMLHt
17 2