新闻标题中关于单引号的问题 以及Ajax的思考

本文介绍了一种改进的Ajax加载方式,通过调整异步模式实现更好的用户体验,并探讨了如何在同一页面中处理多个Ajax请求,使其能并行运行而不需要等待前一个请求完成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果遇到通过js引用的新闻列表的标题中存在单引号的时候,我们只需用转义字符 /'就可以了  

 

关于Ajax我是用的自己写的javascript代码,因为


function CallBackObject()
{
  
this.XmlHttp = this.GetHttpObject();
}
 
CallBackObject.prototype.GetHttpObject 
= function()

  
var xmlhttp;
  
/*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @
*/
  
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    
try {
      xmlhttp 
= new XMLHttpRequest();
    } 
catch (e) {
      xmlhttp 
= false;
    }
  }
  
return xmlhttp;
}

CallBackObject.prototype.DoCallBack 
= function( PageUrl,CallBackFun )
{
  
//alert(PageUrl);
  ifthis.XmlHttp )
  {
    
ifthis.XmlHttp.readyState == 4 || this.XmlHttp.readyState == 0 )
    {
      
var oThis = this;
      
this.XmlHttp.open('GET', PageUrl, false);
      
this.XmlHttp.onreadystatechange = function(){ oThis.ReadyStateChange(CallBackFun); };
      
//this.XmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      this.XmlHttp.send(null);
    }
  }
}
 
CallBackObject.prototype.AbortCallBack 
= function()
{
  
ifthis.XmlHttp )
    
this.XmlHttp.abort();
}
 
CallBackObject.prototype.OnLoading 
= function()
{
  
// Loading
}
 
CallBackObject.prototype.OnLoaded 
= function()
{
  
// Loaded
}
 
CallBackObject.prototype.OnInteractive 
= function()
{
  
// Interactive
}
 
CallBackObject.prototype.OnComplete 
= function(responseText, responseXml,CallBackFun)
{
  
// Complete
}
 
CallBackObject.prototype.OnAbort 
= function()
{
  
// Abort
  //alert("Error");
}
 
CallBackObject.prototype.OnError 
= function(status, statusText)
{
  
// Error
}
 
CallBackObject.prototype.ReadyStateChange 
= function(CallBackFun)
{
  
ifthis.XmlHttp.readyState == 1 )
  {
    
this.OnLoading();
  }
  
else ifthis.XmlHttp.readyState == 2 )
  {
    
this.OnLoaded();
  }
  
else ifthis.XmlHttp.readyState == 3 )
  {
    
this.OnInteractive();
  }
  
else ifthis.XmlHttp.readyState == 4 )
  {
    
ifthis.XmlHttp.status == 0 )
      
this.OnAbort();
    
else ifthis.XmlHttp.status == 200 && this.XmlHttp.statusText == "OK" )
      
this.OnComplete(this.XmlHttp.responseText, this.XmlHttp.responseXML,CallBackFun);
    
else
      
this.OnError(this.XmlHttp.status, this.XmlHttp.statusText, this.XmlHttp.responseText);   
  }
}

 

其中我把调用模式修改成异步就可以实现loading样式了,但是我怎么才能实现页面中多个随心所欲的调用呢,

不用一个调用成功之后才去调用另一个地方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值