Jquery问题

QQ7300 2011-07-15 07:05:19
function insert()
{
var content = $("#content").text();

var newsId= $("#newsId").val();

var url = "CommentList.aspx?NewsId=" + newsId;

$.post(url,{ "act":"insert", "content":encodeURI(content)},
function(data){
if(data == "100"){
$("body").load(url);
}
}
);
}

如代码所示:这是一个评论列表页面,想无刷新发表评论。
newsId是新闻id,
content 是评论内容,
data == "100"表示发表成功。

现在问题是,只有第一次执行发表评论时,页面会异步刷新。
之后的发表评论都不异步刷新,但是评论会插入到数据库中。
而且返回的data值也等于100.

求解!!!


...全文
87 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
最最不静 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 aspwebchh 的回复:]
$("body").load(url+"&dt="+new Date().valueOf());
加个变化的数字看看
[/Quote]
+1
zell419 2011-07-16
  • 打赏
  • 举报
回复
你这个很普通的ajax ,却进行了两次ajax请求 。
jquery 有时候也挺害人的 。
如果你不用jq ,就会知道成功后的代码不应该那么写 。
QQ7300 2011-07-16
  • 打赏
  • 举报
回复
数据库里是数据的,的确是$("body").load(url)出了问题。
但是我尝试了加个变化的数字也还是不行。
它只有第一次发表评论的时候能异步刷新一下。
就好像$("body").load(url)执行过第一次后,第二次就不执行了一样。

用firebug调试过,发现代码会执行到$("body").load(url)这一行,
但是就是没反应。真的很迷惑。
燥动的心 2011-07-15
  • 打赏
  • 举报
回复
$("body").load(url)
默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式
挨踢直男 2011-07-15
  • 打赏
  • 举报
回复
$("body").load(url+"&dt="+new Date().valueOf());
加个变化的数字看看
豆虫 2011-07-15
  • 打赏
  • 举报
回复
先看查数据库了没 ? 如果查了 没刷新 那肯定是$("body").load(url);的问题
zell419 2011-07-15
  • 打赏
  • 举报
回复
但是评论会插入到数据库中
data还是返回 100 这里是没有错的 。
是不是$("body").load(url);的问题 ?
QQ7300 2011-07-15
  • 打赏
  • 举报
回复
强调一下:评论发表是成功的,但是前端就是不会异步刷新,要手动刷新一下,新发表的评论才显示出来。

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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