我在网站上显示了一个科学出版物列表,并且希望在用户到达 10 份出版物列表的末尾时加载其他内容,并按下按钮加载另外 10 份出版物。
我进行 Ajax 调用来加载接下来的 10 篇出版物
我试图显示从 php 脚本回显的 html 代码,但我似乎无法显示 html。在控制台中,我的 HTML 值是“1”。我不明白: 1.为什么我得到的值是“1”; 2. 另外,通过 javascript 回显 HTML 是一个好习惯吗?
JS(AJAX 调用):
var resp = xmlhttp.responseText;
var respArray = resp.split('|');
var response = respArray[1];
var publicationList = respArray[0];
var currentHTML = document.getElementById('showPubs').innerHTML;
if(response == '1'){
console.log('more publications available');
var currentHTML = document.getElementById('showPubs').innerHTML;
document.getElementById('showPubs').innerHTML += publicationList;
}else{
document.getElementById('showPubs').innerHTML += '<div id="noMorePub">No more publications</div>';
}
PHP:
$recentPublications .= '
<div id="pub'.$articleID.'" class="pub20">
<div class="divImg">'.$avatarPathHTML.'</div>
<div class="contentPub">
<div class="datepub">
<div class="fullName"><a class="sfullNme" href="2profile.php?username='.$articleUsername.'">'.$fullname.'</a></div>
<div class="date">'.$submitDate.'</div>
</div>
<div class="divLink">
<a href="testPage3.php?article='.$articleID.'" class="pubLink">'.$articleTitle.'</a>
</div>
<div class="authorString">'.$author_string.'</div>
</div>
<hr class="pubSeparator">
</div>
';
echo $recentPublications.'|1';
最佳答案
我想更好的主意是不要使用这个肮脏的黑客
echo $recentPublications.'|1';
和
var respArray = resp.split('|');
var response = respArray[1];
var publicationList = respArray[0];
if(response == '1'){
您可以只检查响应的长度。如果响应长度等于 0 字节,则其他出版物不可用。
关于javascript - 从 PHP 回显 HTML 以在网页上的 ajax 请求中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38915502/