AJAX-ASP教程(GB编码,GET篇) .

 

call.asp,代码如下。。。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>GB展示GET篇</title>
<script type="text/javascript">
var Try = {
//关于AJAX的兼容,我就直接用prototypejs里的Try方法来解决好了:D
    these : function () {
        var returnValue, length = arguments.length, i = 0;
   
        for (; i < length; i ++) {
            try {
                returnValue = arguments[i]();
                break;
            } catch (exp) {}
        }
       
        return returnValue;
    }
   
};

var Ajax = function () {
//这个函数只是为了返回对象,这里返回的都是对象,所以可以用new Ajax的形式来获取返回
    return Try.these(
        function () { return new XMLHttpRequest(); }
        , function () { return new ActiveXObject('Msxml2.XMLHTTP'); }
        , function () { return new ActiveXObject('Microsoft.XMLHTTP'); }
    ) || new Boolean(false);
};

var wc = new Ajax, url = "server.asp?val=" + escape("问世间清纯为何物,直叫我当仁不让。");
/*
注:这里传输的字符为了避免编码问题产生乱码,所以必须用escape转换一下服务器端VBS用unescape转换下就可以看到了。。。
面的串链多加了个send_time值是因为防止浏览器缓存的问题,所以必须要加。
*/

//open 发送请求
wc.open("GET", url + "&send_time=" + (new Date).getTime(), true);

//onreadystatechange 监视状态
wc.onreadystatechange = function () {
    if (wc.readyState == 4 && wc.status == 200) alert(wc.responseText);
    /*
    readyState属性是返回请求的当前状态。
    此属性只读,状态用长度为4的整型表示.定义如下:
    0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)
    1 (初始化) 对象已建立,尚未调用send方法
    2 (发送数据) send方法已调用,但是当前的状态及http头未知
    3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
    4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
   
    status属性是返回服务器的HTTP状态。
    Num Description
    100 Continue
    101 Switching protocols
    200 OK
    201 Created
    202 Accepted
    203 Non-Authoritative Information
    204 No Content
    205 Reset Content
    206 Partial Content
    300 Multiple Choices
    301 Moved Permanently
    302 Found
    303 See Other
    304 Not Modified
    305 Use Proxy
    307 Temporary Redirect
    400 Bad Request
    401 Unauthorized
    402 Payment Required
    403 Forbidden
    404 Not Found
    405 Method Not Allowed
    406 Not Acceptable
    407 Proxy Authentication Required
    408 Request Timeout
    409 Conflict
    410 Gone
    411 Length Required
    412 Precondition Failed
    413 Request Entity Too Large
    414 Request-URI Too Long
    415 Unsupported Media Type
    416 Requested Range Not Suitable
    417 Expectation Failed
    500 Internal Server Error
    501 Not Implemented
    502 Bad Gateway
    503 Service Unavailable
    504 Gateway Timeout
    505 HTTP Version Not Supported
   
    responseText属性以文本获取返回的值
    responseBody属性以二进制获取返回值
    */
};

//提交信息 这里注意这个null必须加(考虑到兼容问题)
wc.send(null);
</script>
</head>
<body></body>
</html>

server.asp,代码如下。。。

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
With Response
    .Charset = "GB2312" '注意这个必须要设置,因为不设置它的话,返回中文后,就会变成乱码。要保持编码统一。。。
    .Write unescape(Request.QueryString("val"))
End With
%>

 

 

http://blog.csdn.net/muxrwc/article/details/1867529

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值