我的$.post
不工作,因为我试图从我的PHP文件中提取JSON数据,我不知道它为什么不显示输出的原因? 这是我的代码。
HTML:
<pre id="love" type="submit" data-toggle="modal" data-target="#myModal" onclick="mymodal(\''+this["id"]+'\')">'+this["love"]+' students <i class="glyphicon glyphicon-heart fa-lg" style="color:red"></i></pre >
其中this["id"]
已经传给mymodal()
功能。
javascript代码:
var list='';
function mymodal(id){
$.post('postname_.php',{post_id:id},function(data1){
$.each(data1.result,function(){
list+='<div class="modal fade" id="myModal" role="dialog">'+'<div class="modal-dialog">'+'<div class="modal-content">'+
'<div class="modal-header">'+'<button type="button" class="close" data-dismiss="modal">×</button>'+
'<h4 class="modal-title">Students who loved your post</h4>'+' </div>'+'<div class="modal-body">';
list+='<h4 class="text-danger">'+this["finame"]+' '+this['sename']+'</h4>';
list+='</div>'+'<div class="modal-footer">'+
'<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>'+'</div>'+
'</div>'+'</div>'+'</div>';
$('#insert').append(list);}),'json'
});
}
我的PHP代码:
<?php
require("../vendor/library50-php-5/CS50/CS50.php");
CS50::init(__DIR__ . "/../config.json");
$result=array();
$frows3=CS50::query("SELECT * FROM userhit WHERE plove=? AND bypost=?",1,$_POST['post_id']);
foreach($frows3 as $frow3){
$frow4=CS50::query("SELECT * FROM userinfopersonal WHERE user_id=? ",$frow3['user_id']);
$frow5=CS50::query("SELECT * FROM userprof WHERE user_id=? ",$frow3['user_id']);
array_push($result,array('finame'=>$frow4[0]['firstname'],'sename'=>$frow4[0]['secondname'],'url1'=>$frow5[0]['url']));
}echo json_encode(array('result'=> $result)); ?>
其中CS50 ::查询提供了我的一切我的表行满足给定的查询,没有关于担心,我查这是给予完美的json文件。主要问题是alert
功能mymodal()
正在工作,这意味着在点击预标签它进入功能,但$.post
内部的警报不会执行。
烨这是一个错误,是现在警报工作正常,但仍然'list'不追加到'#insert' –
尝试使用'$( '#插入')HTML(名单);'有关更多详细信息,请参阅:http://api.jquery.com/Html/。 – Greenstick
仔细一看,'$ .append()'应该可以工作。此代码运行时,DOM树中是否存在'#insert'元素? – Greenstick