javascript ajax

javascript实现的ajax主要代码如下:


var xmlHttp = false
function ajaxScore(_ajaxCon){
//ajax处理评分
var callBackResult ;
var _assetid = $( 'resource_id' ).innerHTML;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlHttp = new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );
}
xmlHttp.setRequestHeader( "Connection" , "close" );
var url= "http://172.30.93.204:8078/gateway/assetScoreServlet?assetid=" +_assetid+ "&stbId=''&score=" +_ajaxCon;
//var url = "";//获取播放地址url
if (url) {
xmlHttp.onreadystatechange = function (){
if (xmlHttp.readyState == 4 ) {
if (xmlHttp.status == 200){
if (curTimeoutErrorInfo > 0)
clearTimeout(curTimeoutErrorInfo) ;
callBackResult = xmlHttp.responseText; //xmlHttp.responseText is callback value
//$("film").innerHTML = callBackResult ;
if (eval(callBackResult)[0].url == 'ok' ){
$( "resultError" ).innerHTML = "评分成功!" ;
$( "error" ).style.visibility = "visible" ;
setTimeout( function (){$( "error" ).style.visibility = "hidden" ;},2000);
}
}
}
else { //network not success
if (curTimeoutErrorInfo > 0)
clearTimeout(curTimeoutErrorInfo) ;
curTimeoutErrorInfo = setTimeout( function (){
$( "resultError" ).innerHTML = "评分失败,请检查网络连接!" ;
$( "error" ).style.visibility = "visible" ;
setTimeout( function (){$( "error" ).style.visibility = "hidden" ;},2000);
  
},2000) ;
}
}
xmlHttp.open( "POST" , url, true );
xmlHttp.send();
}
else {
//$("play_num_" + line).innerHTML = "";//URL not exist
}
//alert(_ajaxCon); 
}

  下面也是一个简单的ajax写法:


var TSTimeSpan = 0;
var requests = new Array();
function ajax_create_request(context)
{
  var pos = requests.length;
          
         if (pos < 10)   //???
         {
             for ( var i = 0; i < pos; i++)
             {
                 if (requests[i].readyState == 4)
                 {
                     requests[i].abort();
                     requests[i].context = context;
                     return requests[i];
                 }
             }
         }
         else
         {
             for ( var i = 0; i < pos; i++)
             {
                 if (requests[i].readyState == 4)
                 {
                     requests[i].abort();
                 }
                 requests[i].obj = null ;
                 requests[i]= null ;
             }
             requests = new Array();
             pos = 0;
         }
    
         requests[pos] = Object();
         requests[pos].obj = XMLHttpRequest();
  requests[pos].context = context;
         return requests[pos];
}
function ajax_request(userid, action, clientID, lastState, url, data, callback, httpresponse, context, objname)
{
  var request = ajax_create_request(context);
  request.obj.onreadystatechange = function ()
  {
   if (request.obj)
   {
       if (request.obj.readyState == 4)
       {
        httpresponse( new ajax_response(request));
        if (callback)
        {
            callback( new ajax_response(request));
        }
    }
   }
  }
   
  request.obj.open( 'GET' , url, true );
  request.obj.setRequestHeader( "Accept" , "text/xml" );
  request.obj.setRequestHeader( "Content-Type" , "text/xml" );
         request.obj.setRequestHeader( "charset" , "utf-8" );
  request.obj.setRequestHeader( "User-id" , userid); //设置header
  request.obj.setRequestHeader( "User-action" , action);
  request.obj.setRequestHeader( "TS-ClientID" , clientID);
     request.obj.setRequestHeader( "X-Last-State" , lastState);
     request.obj.setRequestHeader( "User-Json" , data);
     request.obj.setRequestHeader( "Obj-Name" , objname);
     request.obj.setRequestHeader( "S-Time" , "" );
     request.obj.setRequestHeader( "TS-SpanTime" , TSTimeSpan);
  request.obj.send( null );
}
  
function ajax_response(request)
{
  this .request = request.obj;
  this .value = null ;
  this .lastState = null ;
  this .status = request.obj.status;
  this .context = request.context;
  this .value = this .request.responseText;
  this .clientid = this .request.getResponseHeader( "TS-ClientID" );
  this .sTime = this .request.getResponseHeader( "S-Time" ); //获取header
  this .objName = this .request.getResponseHeader( "Obj-Name" );
     TSTimeSpan = this .request.getResponseHeader( "TS-SpanTime" ); 
  return this ;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值