继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

asp + ajax 异步处理数据.

MarlboroKay
关注TA
已关注
手记 21
粉丝 53
获赞 488
功能背景:当用户输入用户名时,判断数据表中用户名是否已经存在。

技术手段:ajax异步请求。

其实,光说ajax 大家多少都对他有了解,但是一般都是将它运用在html中,今天我分享一下在asp中如何更好的运用ajax

在功能背景中已经介绍,当用户输入用户名时需要判断是否存在相同用户名,这里使用ajax异步调用
<script type = "text/javascript">
    $("#className").focusout(function(){
        var data = $("#className").attr('value');
        if(data != ''){
        $.ajax({
            url:"checkClassName.asp",
            data:{"name":data},
            type:"POST",

            success:function(data){
                if(data != 1){
                    $('#beforeRro').html('班次名称已被使用!');
                    $('#beforeRro').show();
                    $('#btn').attr('disabled',true);
                }
            },
            error:function(){
                alert("error");
            }
        })
        }

    })

</script>
ajax list中还可以有更多参数具体根据需求来添加.
当我写完调用后,迫不及待的去写了一个访问数据库的文件如下:
<!--#include file = "conn.asp"-->

<%

    dim shiftname

    shiftname = request("name")

    dim sql_C,rs_C 

    sql_C = "select * from shift where shiftname = '"& shiftname &"'"

    set rs_C = server.createobject("adodb.recordset")

    rs_C.open sql_C,conn

    if rs_C.eof then 

    response.write("1")

    else 

    response.write("0")

    end if 

%>
但是返回的结果并不理想,用户名可以是任何形式的,比如数字,字母,下划线等等...
但是刚才的asp 文件只能有效的返回数字,字母重复的用户名,而中文的则没有反应,聪明的慕课小伙伴,肯定第一时间回答,你这是编码格式有问题。
是的,问题出现在中文的编码格式上:
<%@Language="vbscript" Codepage="65001"%>
上述代码的编码格式为 UTF-8
当然如果你的编码格式是gb2312 可以使用下面代码:

<%@Language="vbscript" Codepage="936"%>
这是我在实际项目中发生的问题,并解决,将问题的解决方案和大家分享一下。
打开App,阅读手记
9人推荐
发表评论
随时随地看视频慕课网APP