+ -
当前位置:首页 → 问答吧 → 这种AJAX做留言板的思路行得通吗?

这种AJAX做留言板的思路行得通吗?

时间:2011-07-23

来源:互联网

我的思路是把留言的内容(内容字符比较多)传递到目标页面,然后在目标页面把留言内容插入数据库,AJAX做留言板是这种思路吗?
如果这种方法可以,那要用哪种方法传递留言内容呢?我知道URL的方法是肯定不行的,因为传送的内容比较多,而且都是中文;用session没有必要,大家推荐一下好的办法吧

作者: landry12345   发布时间: 2011-07-23

可以用AJAX配合JSON数据传送

作者: MuBeiBei   发布时间: 2011-07-23

ajax post数据过去就行了嘛

作者: lsw645645645   发布时间: 2011-07-23

JScript code
var ajax = {//xmlhttp request
        tryList:function(){
            var xhr = null;
            for(var i=0;i<arguments.length;i++){
                var lambda = arguments[i];
                try{xhr = lambda();break;}catch(e){}
            }
            return xhr;
        },
        init:function(){
            return this.tryList(
                function(){return new ActiveXObject('MSXML2.XMLHttp.6.0');},
                function(){return new ActiveXObject('MSXML2.XMLHttp.3.0');},
                function(){return new XMLHttpRequest();},
                function(){return new ActiveXObject('MSXML2.XMLHttp.5.0');},
                function(){return new ActiveXObject('MSXML2.XMLHttp.4.0');},
                function(){return new ActiveXObject('Msxml2.XMLHTTP');},
                function(){return new ActiveXObject('MSXML.XMLHttp');},
                function(){return new ActiveXObject('Microsoft.XMLHTTP');}
                ) || null;
        },
        post:function(sUrl,sArgs,bAsync,fCallBack,errmsg){
            var xhr = this.init();
            xhr.onreadystatechange = function(){
                if(xhr.readyState == 4){
                    if(xhr.responseText){
                        if(fCallBack.constructor==Function){fCallBack(xhr);}
                    }else{
                        alert(errmsg);
                    }
                }
            };
            xhr.open('POST',encodeURI(sUrl),bAsync);
            xhr.setRequestHeader('Content-Length',sArgs.length);
            xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            xhr.send(sArgs);
        },
        get:function(sUrl,bAsync,fCallBack,errmsg){
            var xhr = this.init();
            xhr.onreadystatechange = function(){
                if(xhr.readyState == 4){
                    if(xhr.responseText){
                        if(fCallBack.constructor==Function){fCallBack(xhr);}
                    }else{
                        alert(errmsg);
                    }
                }
            };
            xhr.open('GET',encodeURI(sUrl),bAsync);
            xhr.send('Null');
        }
    }

ajax.post("你的目标地址","title=标题&content=内容内容",true,function(xhr){回调函数},"没有信息返回")

这样使用就可以了, post提交,服务器端跟平常表单提交时一样使用就行了

作者: aspwebchh   发布时间: 2011-07-23

直接form表单不就可以了?

作者: java_xiaoyi   发布时间: 2011-07-23

直接form表单,然后ajax post

作者: ferock   发布时间: 2011-07-23