나는 AJAX 및 PHP json_encode()
을 사용하는 방법을 배우고있다. I는 AJAX POST
응답으로 사용하여 배열 json_encode()
복귀하고 :json_encode 인쇄 아약스 성공에 html 블록, 조언이 필요
$.post("<?php echo base_url();?>index.php/post/post_insert_ajax/",{
text: post_wall, type:type, entity_id:entity_id, poster_id:poster_id
},
function (data){
var postObj = $.evalJSON(data);
$("ul#post_already").prepend(//something);
$("ul#post_already li:first").slideDown("slow");
$('#post_wall').val("");
});
난 어레이 반환 폭발 jquery.json.js를 사용하고 있는데 $("ul#post_already")
<a id='"+postObj.post_id+"' href='board/?p="+postObj.post_id+"' >
"+postObj.post_text+"
</a>
Created on: "+postObj.created_timestamp+"<a class='showCommentBox' id='"+postObj.post_id"' href='#' >Comment</a>
<div id='commentContainer-"+postObj.post_id+"' class='commentContainer' style='display:none;'>
<form class='submit_comment' id='"+postObj.post_id+"' action='#'>
<textarea name='text' id='commentText-"+postObj.post_id+"' class='commentText'></textarea>
<input type='submit' name='submit' value='Post Comment' id='"postObj.post_id"' class='submit_comment' />
<input type='hidden' name='user_id' id='user_id' value='"+postObj.user_id+"' />
</form>
</div>
<ul id='comment_post"+postObj.post_id+"'></ul></li>
로 HTML의 블록을 표시하고 싶었
나는이 모든 것을 .prepend()
에 넣으려고했으나 그 방법으로는 작동하지 않는 것 같습니다. 이것을 위해 무엇을해야합니까? 고맙습니다.
UPDATE : 그것은 내 솔루션이되는 평균 시간 그래서, 코드의 몇 가지에 CONCATENATE 기호를 놓친 판명 :
block = "<b>"+user_name+"</b> posted on ";
block += "<br/><a id='"+postObj.post_id+"' href='<?php echo base_url();?>board/?p="+postObj.post_id+"' >"+postObj.post_text+"</a>";
block += "<br />Created on: "+postObj.created_timestamp+" <a class='showCommentBox' id='"+postObj.post_id+"' href='#' >Comment</a>";
block += "<div id='commentContainer-"+postObj.post_id+"' class='commentContainer' style='display:none;'>";
block += "<form class='submit_comment' id='"+postObj.post_id+"' action='#'><textarea name='text' id='commentText-"+postObj.post_id+"' class='commentText'></textarea>";
block += "<input type='submit' name='submit' value='Post Comment' id='"+postObj.post_id+"' class='submit_comment' />";
block += "<input type='hidden' name='user_id' id='user_id' value='"+postObj.user_id+"' />";
block += "</form></div><ul id='comment_post"+postObj.post_id+"'></ul></li>";
과 성공에 나는 HTML 전화 :
$("ul#post_already").prepend(HTML);
을
현재 작동하지만 여전히 지저분한 선으로 보입니다. 모범 사례가 아닙니다. 해결 방법이 있습니까?
위대한 사람의 덕분에, 나는 다시, 사람을 – littlechad
아니 문제를 감사거야 이것을 시도, 다시 최대한 빨리 당신에 얻을. 희망이 당신을 위해 잘 작동합니다. 아 ... 그리고 위의 기술을 사용하면 배열을 폭발시키기 위해 "jquery.json.js"파일이 필요하지 않습니다. 위에서 데모 된 모든 기능은 jQuery 코어에 내장되어 있습니다. –
정확히 내가 뭘 원했던 것과 같지는 않지만, 당신이 저를 지적한 이유 때문에 새로운 지식을 얻었습니다 :) 어쨌든 어떻게하면 업데이트에 지저분한 코드를 단순화 할 수 있습니까? 감사합니다 – littlechad