熟悉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
几行代码而已!!
------解决方案--------------------