读书人

熟悉js ajax的帮忙看下 小白请问了

发布时间: 2012-03-05 11:54:03 作者: rapoo

熟悉js ajax的帮忙看下, 小白请教了,来者有分
伪代码:
服务器代码

C# code
    protected void Page_Load(object sender, EventArgs e)    {            AddMess();    }    public void AddMess()    {        if (Request.QueryString["name"] != null)        {            Response.Clear();            Class1 class1 = new Class1();             string name = Request.QueryString["name"].ToString();            int score = int.Parse(Request.QueryString["score"].ToString());            string ps = Request.QueryString["ps"].ToString();            int result = class1.Add(name, score, ps);  //增加一条记录             if (result == 1)            {                Response.Write("111111111");            }            else            {                Response.Write("222222222");            }        }    }


页面 js:
JScript code
   function GetXmlHttpRequest()    {        var http_request;        if(window.XMLHttpRequest)        {           http_request=new XMLHttpRequest();        }        else if(window.ActiveXObject)        {           try           {              http_request=new ActiveXObject("Msxml.XMLHTTP");           }           catch(e)           {              http_request=new ActiveXObject("Microsoft.XMLHTTP");           }        }        return http_request;    }    function Add()    {        var http_request=GetXmlHttpRequest();        http_request.open("Get","Default2.aspx?name=222&&score=333&&ps=444",true);        http_request.onreadystatechange=        function statechange()        {            if(http_request.readystate==4)            {                if(http_request.status==200)                {                    alert(http_request.ResponseText);                }            }        }        http_request.send(null);    }



页面按钮点击后onclick="Add();" 增加一条记录 ResponseText返回111111111 数据库插入成功 但是在点一次 还是弹出111111111 可是数据库却没有再次新增 这是什么原因
另外调用服务器端的函数必须写在Page_Load()里? 这块不是很清楚 如果页面很多地方通过异步调用服务器端函数 都写在Page_Load()里? 请求高手解答下,

[解决办法]
其实不用这么麻烦,LZ可以学习一下AJAXPRO,很方便做到这个效果
[解决办法]
这问题我也遇到过
你将name,score,ps的值换成别的
可能就行了
具体啥原因 一直没搞明白
学习。。
[解决办法]
protected void Page_Load(object sender, EventArgs e)
{
//前面加一个
Response.Expires=-1;//清除一下缓存
AddMess();
}

[解决办法]
我现在要么用ajaxpro 要么 jquery
不怎么写这个了
[解决办法]
if(!IsPostback)
{
AddMess();
}

[解决办法]
http://blog.sina.com.cn/s/blog_4a50d85b0100brg5.html
[解决办法]
有的只要设置下属性就OK了
[解决办法]
C# code
   protected void Page_Load(object sender, EventArgs e)    {       Response.Expires=-1;       if(!IsPostback)        {             AddMess();       }    }
[解决办法]
jquery

几行代码而已!!
------解决方案--------------------


探讨
大家还是没回答 如果服务器端有若干函数被前台异步调用 都写在Page_Load()事件里?

读书人网 >asp.net

热点推荐