Javascript 处理jquery ajax请求上的数据返回
因此,目前的问题不在于ajax本身,而在于一旦我得到数据,该怎么做。我有一个巨大的问题,试图让它预先将数据放入一个动态内容类。 下面是执行ajax请求的代码,ajax的工作原理与预期相同,但当我尝试预处理返回的数据时,它会将其添加到我站点上的每个帖子()Javascript 处理jquery ajax请求上的数据返回,javascript,jquery,ajax,fadein,Javascript,Jquery,Ajax,Fadein,因此,目前的问题不在于ajax本身,而在于一旦我得到数据,该怎么做。我有一个巨大的问题,试图让它预先将数据放入一个动态内容类。 下面是执行ajax请求的代码,ajax的工作原理与预期相同,但当我尝试预处理返回的数据时,它会将其添加到我站点上的每个帖子() /* *这是ajax */ $(“.reply”)。关于(“提交”,函数(){ //截取表单提交 var formdata=$(this).serialize();//序列化所有表单数据 //将数据发布到PHP处理脚本 $.post(“/com
/*
*这是ajax
*/
$(“.reply”)。关于(“提交”,函数(){
//截取表单提交
var formdata=$(this).serialize();//序列化所有表单数据
//将数据发布到PHP处理脚本
$.post(“/comment.php”),formdata,函数(数据){
//对返回的数据采取行动,将其设置为#成功
$(this).parent('.post_comment')。children('.view_comments')。prepend(数据);
$('.hidden').hide();
});
返回false;
});
/*
*结束ajax
*/
对不起,如果我解释得太透彻了,作为一个总结,这正是我理想中想要的。用户点击Post Comment,然后它在他们发布在正确帖子上的评论中淡出
非常感谢
乔恩
我解决了
这是一个简单的解决方案,我像这样存储jquery变量,然后可以导航:)
$(.reply”)。关于(“提交”,函数(){
//截取表单提交
var formdata=$(this).serialize();//序列化所有表单数据
var reply=$(本);
//将数据发布到PHP处理脚本
$.post(“/comment.php”),formdata,函数(数据){
//对返回的数据执行操作,将其设置为.success
reply.parent().next().prepend(数据);
$('.hidden').hide();
});
返回false;
});
您可以将div id存储在某个变量中,并在ajax调用后使用它
e、 g
您可以将div id存储在某个变量中,并在ajax调用后使用它 e、 g
它附加到每个元素,因为您使用的是类名,所以每个具有类名
reply
的元素都将有其父元素的前缀,而不是选择父元素的子元素,只要选择第一个子元素(如果这是您想要的前缀)。这只是jQuery的一个快速提示,$(“#reply”)
将获得ID为“reply”的第一个元素,而$(“.reply”)
将获得类名为“reply”的每个元素。很抱歉,我应该将它改回原来的状态,我的意思是将它改成(this),因为这就是我正在使用的,我只是测试以使它再次工作。很抱歉造成混淆。您应该添加一些HTML代码,以便我们解决附加到每个人的问题,因为您使用的是类名,因此每个具有类名reply
的元素都将有其父元素的前缀,而不是选择父元素的子元素,只需选择第一个子元素,如果这是您想要预先设置的。只需使用jQuery提供一个快速提示,$(“#reply”)
将获得第一个ID为“reply”的元素,而$(“.reply”)
将获得每个类名为“reply”的元素。很抱歉,我应该将它改回原来的样子,我的意思是(这个)因为这就是我正在使用的,所以我只是测试一下,让它再次工作。很抱歉造成混淆。您应该添加一些HTML代码,以便我们解决问题。无论出于何种原因,我现在都无法让它工作。它甚至不会像以前一样使用我发布的完全相同的代码预先添加注释数据。你能尝试替换children to->find吗!我将更新上面的代码。另外,请确保您正确地针对所有选择器,即父级。post_评论包含2个class->。reply&view_评论谢谢,它不起作用,但问题可能出在my.parent选择器上。我不确定ajax完成时jquery被选择在什么级别。我也不知道该怎么说。如果你在FireFox上有FireBug,你可以查看错误控制台,看看jQuery/JS在运行时是否产生了错误。如果您感到困惑,我建议在没有任何选择器的情况下使用parent()directy,让数据在所有依赖的容器中进行预处理,然后使用firebug/inspect元素找到合适的容器。kishan我正在尝试您所说的,我可以使用('.success')在所有元素上成功预处理数据。预处理(数据);它具有预期的效果,但在所有帖子上都是如此。我目前面临的问题是,在我点击post comment后,找出jquery选择的位置,然后从那里向上或向下钻取到正确的div。无论出于什么原因,我现在都无法让它工作。它甚至不会像以前一样使用我发布的完全相同的代码预先添加注释数据。你能尝试替换children to->find吗!我将更新上面的代码。另外,请确保您正确地针对所有选择器,即父级。post_评论包含2个class->。reply&view_评论谢谢,它不起作用,但问题可能出在my.parent选择器上。我不确定ajax完成时jquery被选择在什么级别。我也不知道该怎么说。如果你在FireFox上有FireBug,你可以查看错误控制台,看看jQuery/JS在运行时是否产生了错误。如果您感到困惑,我建议在没有任何选择器的情况下使用parent()directy,让数据在所有依赖的容器中进行预处理,然后使用firebug/inspect元素找到合适的容器。kishan我正在尝试您所说的,我可以使用('.success')在所有元素上成功预处理数据。预处理(数据);它具有预期的效果,但在所有帖子上都是如此,我目前面临的问题是,在我点击post comment之后,找出jquery选择的位置,然后从那里向上或向下钻取到正确的div。
/*
* This is the ajax
*/
$(".reply").on( "submit" , function(){
// Intercept the form submission
var formdata = $(this).serialize(); // Serialize all form data
// Post data to your PHP processing script
$.post( "/comment.php", formdata, function( data ) {
// Act upon the data returned, setting it to #success <div>
$(this).parent('.post_comment').children('.view_comments').prepend(data);
$('.hidden').hide();
});
return false;
});
/*
* End ajax
*/
$(".reply").on( "submit" , function(){
// Intercept the form submission
var formdata = $(this).serialize(); // Serialize all form data
var reply = $(this);
// Post data to your PHP processing script
$.post( "/comment.php", formdata, function( data ) {
// Act upon the data returned, setting it to .success <div>
reply.parent().next().prepend(data);
$('.hidden').hide();
});
return false;
});
$(".reply_comment").on( "submit" , function(event){
event.preventDefault();
var formdata = $(this).serialize();
$.post( "/comment.php", formdata, function( data ) {
$(this).parent('.view_comments').prepend(data);
$('.hidden').hide();
});
});
$(".reply").on("submit" , function(e) {
e.preventDefault();
var formdata = $(this).serialize();
$.post( "/comment.php", formdata, function( data ) {
$(this).siblings('.view_comments').prepend(data);
$('.hidden').hide();
});
});