Javascript 使用Ajax获取数据(放置在div中)

Javascript 使用Ajax获取数据(放置在div中),javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我试图将数据添加到div中,但它不起作用。php很好,但我需要一双敏锐的眼睛,看看他们是否能够发现任何错误,或者能够提出任何解决方法,以帮助找出它不起作用的原因 在过去的5个小时左右,我一直在努力修复它,它让我绞尽脑汁 用户对post之类的状态进行评论,并假设将其添加到div。就像我的主状态一样。主状态的ajax与下面的注释ajax几乎相同。但是注释ahax的效果不好,根本没有插入任何数据 <script> $(document).ready(function(){ $("f

我试图将数据添加到div中,但它不起作用。php很好,但我需要一双敏锐的眼睛,看看他们是否能够发现任何错误,或者能够提出任何解决方法,以帮助找出它不起作用的原因

在过去的5个小时左右,我一直在努力修复它,它让我绞尽脑汁

用户对post之类的状态进行评论,并假设将其添加到div。就像我的主状态一样。主状态的ajax与下面的注释ajax几乎相同。但是注释ahax的效果不好,根本没有插入任何数据

<script>
$(document).ready(function(){
    $("form#mycommentform").submit(function() {
        var streamidcontent = $('#streamidcontent').val();
        var contents = $(this).children('#contents').val();

        $.ajax({
            type: "POST",
            url: "comment_add.php",
            cache: false,
            dataType: "json",
            data: { streamidcontent: streamidcontent, contents: contents}, 
            success: function(data){  
                $('#containerid').html('<div class="stream_comment_holder" style="display:none;"
                id="comment_holder_'+data['comment_streamitem']+'"><div
                id="comment_list_'+data['comment_streamitem']+'"><div
                id="tgy"></div><div class="stream_comment"
                id="comment_'+data['comment_id']+'" style="margin-top:0px;"><table
                width=100%><tr><td valign=top width=30px><img
                class="stream_profileimage"
                style="border:none;padding:0px;display:inline;" border=\"0\"
                src=\"imgs/cropped'+data['id']+'.jpg\"
                onerror="this.src=\"img/no_profile_img.jpeg\"" width=\"40\"
                height=\"40\" ></a><td valign=top align=left><a
                href="/profile.php?username='+data['username']+'">'+data['first']+'</a><div
                class="commentholder">'+data['first']+'</div><br/><div
                id="commentactivitycontainer"></div></div></table></div></div><div
                class="form"><form id="mycommentform" method="POST" 
                class="form_statusinput"><input type="hidden"  name="streamidcontent"
                id="streamidcontent" value="'+data['comment_streamitem']+'"><input
                type="text" name"contents" id="contents" placeholder="Say something"
                autocomplete="off"><input type="submit" id="button"
                value="Feed"></form></div><div class="stream_comment_holder"
                style="display:;"><div class="like_name"><b><a
                href="profile.php?username='+data['username']+'">You Like
                This</a></b></div></div>');
            }
        });
        return false
    });
});
</script>
JSON


我不知道这是否是唯一的问题,但您试图在创建的html属性中嵌入引号,例如:

'onerror="this.src=\"img/no_profile_img.jpeg\""'
它将生成以下无效字符串:

onerror="this.src="img/no_profile_img.jpeg""
您应该嵌入单引号,如下所示:

'onerror="this.src=\'img/no_profile_img.jpeg\'"'
这将产生:

onerror="this.src='img/no_profile_img.jpeg'"
另外,在最后第六行,您有一个属性缺少
=
符号:

name"contents"

您插入的最外层div具有
style=“display:none;”“

我建议您使用某种模板系统来完成组装内容的所有繁重工作

研究或解决问题

html()

您还有一个内联显示样式:第一个
div
上没有显示,因此您不会看到它

您是否尝试过剥离函数以查看是否填充了任何内容

success: function(data){  
   $('#containerid').html('blurb');
}

请缩进你的代码。这样更好,但它的语法无效。(字符串文本中的newlien)只需输入站点上的实际代码。(如果实际代码的缩进不正确,请先修复该问题)是。在我的网站上很好。:)不允许使用空格等。因此,如果将
$(“#containerid”).html(“…”)
替换为
console.log(data)
会得到什么?我还会尝试将success函数调用分离到它自己的单独函数中。不知道为什么,但有时这对我来说是不同的。我试过那种方法。只有我的用户名。还是没什么。尝试一些建议。成功函数真的被调用了吗?在success函数中插入一个警报('Passed'),或添加一个错误处理程序success:function(){alert('success');},error:function(){alert('failure');}当我将success放入时..没有弹出窗口。当我输入错误时,它显示弹出窗口。但它在firebug中显示了发送到php的项目,并返回了我请求获取的所有值。请尝试以下错误:函数(xhr,textStatus){alert('request failed->'+textStatus);}尝试了您的所有建议。仍然没有结果。从上面的注释中,您首先要解决的是更基本的问题。一旦你能让你的成功处理器启动,你就需要应用我的答案中的修正。
name"contents"
success: function(data){  
   $('#containerid').html('blurb');
}