jquery ajax封装问题

yilianxm79 2014-03-25 11:08:15

<script>
function ajaxtest(){
$.ajax({
type: "get",
url:"test.htm",
timeout: 5000,
data: {type:"info"},
cache:false,
success:function(xmlDoc, textStatus, xhr){
if(xhr.readyState==4)
{
if(xhr.status == 200)
{
var str=xhr.responseText; //获取返回值
}//200
}//4
},
error: function(xhr, textStatus, errorThrown)
{
if("timeout" == textStatus)
{
alert("请求超时");
}
else
{
alert("网络异常");
}
}
}); //ajax结束
}
</script>


请问上面的ajax请求,我很多地方都要用到,能不能把这个封装一下呢,不需要用到的地方都写上面的一大通代码,只是简单的调用换下请求地址,参数,请问可以吗,能怎么封装呢,谢谢
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
義東 2014-03-25
  • 打赏
  • 举报
回复

function ajaxtest(url,data,callback){
  $.ajax({ 
           type: "get",
            url:url,
            timeout: 5000,
            data: data, 
            cache:false,
            success:function(xmlDoc, textStatus, xhr){ 
                if(xhr.readyState==4)
                {
                    if(xhr.status == 200)
                    {
                      var str=xhr.responseText; //获取返回值
                      if(callback){
                             callback(str);
                      }
                    }//200
                }//4
            }, 
            error: function(xhr, textStatus, errorThrown)
            {
                if("timeout" == textStatus)
                {
                    alert("请求超时");
                }
                else
                {
                    alert("网络异常");
                }
            }
        }); //ajax结束
}
zhjdg 2014-03-25
  • 打赏
  • 举报
回复
function ajaxtest(url){
	  return $.ajax({ 
	           type: "get",
	            url:url,
	            timeout: 5000,
	            data: {type:"info"}, 
	            cache:false,
	            success:function(xmlDoc, textStatus, xhr){ 
	                if(xhr.readyState==4)
	                {
	                    if(xhr.status == 200)
	                    {
	                      var str=xhr.responseText; //获取返回值
	                    }//200
	                }//4
	            }, 
	            error: function(xhr, textStatus, errorThrown)
	            {
	                if("timeout" == textStatus)
	                {
	                    alert("请求超时");
	                }
	                else
	                {
	                    alert("网络异常");
	                }
	            }
	        }); //ajax结束
	}
等风的云 2014-03-25
  • 打赏
  • 举报
回复
把变量提取成参数就好了啊。
挨踢直男 2014-03-25
  • 打赏
  • 举报
回复
jquery ajax已经封装的够通用了 $.ajax $.post $.get $.getJSON $.getScript 都可以用, 没有必要自己再去封闭一遍

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧