我想做以下事情并且不知道如何最好地接近它:
我在我创建的社交网站中有像Wall这样的Facebook。 每个墙贴都是一个PHP对象,有几个"评论"附在它上面的物体。 所有相关数据当前都是在页面加载时从数据库中提取的,并按照我的意愿工作。
My Wall已经很长了所以我想通过JQuery和Ajax实现无限滚动。 我想向php页面发送更多post对象的请求,这将实例化它们并将完成的对象发回。现在我已经读过这是通过JSON发送PHP对象的不良做法,它可能导致问题和潜在的攻击媒介。
我该如何处理?在Jquery写整个墙?它是否将数据请求发送给PHP但是使用JQuery而不是PHP显示所有内容?
一些指示将非常感激。
答案 0 :(得分:0)
您应该发送所需帖子的AJAX请求并返回准备好的HTML,您可以使用$('wall_container')附加到容器。append($(new_post_html));
答案 1 :(得分:0)
我会说加载初始页面并将数据附加到墙上。无需发送对象。您需要的所有数据都将位于请求对象的responseText中
var request = new XMLHttpRequest();
var form = new FormData();
form.append('param_1',val_1);
form.append('param_2',val_2);
request.open("http://example.com/getPostsForWall.php","POST",true);
request.send(form);
request.onreadystatechange = function(){
if(request.status==200 && request.readyState == 4){
//Successful request
response = JSON.parse(request.responseText);
//Want to append a title using jquery to your wall that has an id of wall?
$("#wall").append("<h2 class='wall-post-title'>"+response.post_title+"<h2>");
}
};
这假设你的服务器端代码返回一个带有键&#39; post_title&#39;的变量。当您发送回复时