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