今夜无眠【24小时在线等】Repeater中用放button按钮,用ajax和Jquery实现无刷新,失效

xieliliang 2010-12-04 12:46:28

----------------------------------------
aspx页面-------------------------------
<script language="javascript" type="text/javascript">
function Addit(ID)
{
$.ajax({
type:"GET",
url:"add.ashx",
dataType:"JSON",
cache: false,
data:"ID="+ID,
beforeSend:function(XMLHttpRequest)
{
},
success:function(msg)
{
alert(msg);
}
});
<asp:Repeater ID="replist" runat="server"
<ItemTemplate>
<input type="image" src="../imgs/bm.gif" onclick="Addit(<%#Eval("ID")%>)"/>
----------------------------------------
add.ashx文件----------------------------------------
if(context.Request.QueryString["ID"]==null)
{
context.Response.Write("成功!");
context.Response.End();
}
else
{
context.Response.Write("失败!");
context.Response.End();
}

--------------------------------------
不是每次都失效,有时候后会弹出一个对话框,但是大多情况下都什么不弹出,且也不是无刷新的效果,页面有刷新一下
-----请问该怎么解决呢?谢谢各位了!!
...全文
240 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuejiyong0619 2010-12-04
  • 打赏
  • 举报
回复
TaoFor 2010-12-04
  • 打赏
  • 举报
回复

function Addit(ID)
{
$.ajax({
type:"GET",
url:"add.ashx",
dataType:"JSON",
cache: false,
data:"ID="+ID,
beforeSend:function(XMLHttpRequest)
{
},
success:function(msg)
{
alert(msg);
}
});


你用get我都没看到你传参数,~!

你用了data:可是我没看到post
你alert(msg)看看是什么

alert(ID)看看是不是
huangwenquan123 2010-12-04
  • 打赏
  • 举报
回复
你接收的是dataType:"JSON",
json类型,返回的却不是json类型,当然不行了!
你把那句删掉!
ysh88gg 2010-12-04
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
arecaiz 2010-12-04
  • 打赏
  • 举报
回复
应该不会这样呀
xieliliang 2010-12-04
  • 打赏
  • 举报
回复
哈哈谢谢你了,还有一个问题就是<a href="#" 改成 href="javascript:void(0);",不然页面太长话,点击下面的,页面会定位到页首的位置,虽然没有刷新,哈哈,谢谢你啊,你的QQ是?这个是我的729340637
huangwenquan123 2010-12-04
  • 打赏
  • 举报
回复
测试了下,确实是这样,用input type="image"也会自动提交,类似于submit,不同的是submit是系统自带的风格,image可以用自己的图片做背景,你把form去掉了然后继续用input type="image"就不会自动提交了
xieliliang 2010-12-04
  • 打赏
  • 举报
回复
汗我知道原因了,但不知道为什么,<input type="image" src="../imgs/bm.gif" onclick="Addit(<%#Eval("ID")%>)"/> -----------修改成<a href="#" onclick="Addit(<%#Eval("ID")%>)"/><img src=".."/></a>就可以了,为什么呢,本人菜鸟啊
huangwenquan123 2010-12-04
  • 打赏
  • 举报
回复

//我加了这句ff没弹出错误提示!你把你修改过的代码在发上来看看!还有jq用的是什么版本的?
$(document).ready(function(){
$("a").click(function(){
$.ajax({
url:"/Comment/Handler1.ashx",
type:"get",
//data:"ID=0",
data:"ID=1",
success:function(result){
alert(result);
},
error:function (XMLHttpRequest, textStatus, errorThrown)
{
alert(XMLHttpRequest.readyState);
}
})
})
})
xieliliang 2010-12-04
  • 打赏
  • 举报
回复
error:function (XMLHttpRequest, textStatus, errorThrown)
{
//错误处理
//alert("错误!");
alert(XMLHttpRequest.readyState);
}
-----------------火狐弹出值为4,4是响应内容解析完成,可以在客户端调用------表示成功了啊
------------alert(textStatus); 弹出是error。但只在FF里面可以弹出值,IE不可以
huangwenquan123 2010-12-04
  • 打赏
  • 举报
回复
ie6 7 ff chrome都测试过了 没问题额!你用的是什么版本的jq?
Issac25Name 2010-12-04
  • 打赏
  • 举报
回复

来学习一下!帮顶!!!
xieliliang 2010-12-04
  • 打赏
  • 举报
回复
按照LS说的,还是没有效果,我在IETester里测试,IE7里面前面连续几下都测试成功了,后面有没效果了,晕了,IE6一下都不行,还发现一个问题在火狐里里面,我在代码后面加上
error:function()
{
//错误处理
alert("出现错误!");
火狐每次都提示出错,那错误会是哪里呢
huangwenquan123 2010-12-04
  • 打赏
  • 举报
回复

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="ChildShoesWeb.Comment.WebForm1" %>

<!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 runat="server">
<title>无标题页</title>
<script type="text/javascript" src="/UserBackstage/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(){
$.ajax({
url:"/Comment/Handler1.ashx",
type:"get",
//data:"ID=0",
data:"ID=1",//你可以切换注释看下效果,我本地测试了
success:function(result){
alert(result);
}
})
})
})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="#">获取</a>
</div>
</form>
</body>
</html>


public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if (context.Request.QueryString["ID"] == "1")
{
context.Response.Write("成功!");
context.Response.End();
}
else
{
context.Response.Write("失败!");
context.Response.End();
}
}
xieliliang 2010-12-04
  • 打赏
  • 举报
回复
LS你真是个好人耶
xieliliang 2010-12-04
  • 打赏
  • 举报
回复
------------ashx文件
if (context.Session["userid"] != null)
{
context.Response.Write("可以报名!");
context.Response.End();
}else
{
context.Response.Write("登陆后再报名!");
context.Response.End();
}
------------------------------断点下,可以执行到context.Response.Write("登陆后再报名!");
这个位置
wptad 2010-12-04
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xieliliang 的回复:]

$.ajax({
alert("0");
type:"GET",
url:"add.ashx",
dataType:"JSON",
cache: false,
data:"ID="+ID,
beforeSend:function(XMLHttpRequest)
{
alert("1");
},
success:function(msg)
{
alert("2");
a……
[/Quote]

success:function(msg)

没有返回值,这块有问题。用failure试一下。
把代码给全了,或者你自己断点调试跟踪一下...
来自故乡的风 2010-12-04
  • 打赏
  • 举报
回复
虽然不会,你先去睡一会儿,我帮你顶。
xieliliang 2010-12-04
  • 打赏
  • 举报
回复
$.ajax({
alert("0");
type:"GET",
url:"add.ashx",
dataType:"JSON",
cache: false,
data:"ID="+ID,
beforeSend:function(XMLHttpRequest)
{
alert("1");
},
success:function(msg)
{
alert("2");
alert(msg);
alert("3");
}
});
-------------------------------0,1是每次都可以弹出的,2,3,不能
xieliliang 2010-12-04
  • 打赏
  • 举报
回复
不是说每一次都失效,是偶尔弹出一次提示框,但是很多时候是点击它没有效果
加载更多回复(2)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧