使用JSON加载时,php将数据加载到fancybox中
我有一个带有fancybox的php页面。 我有一个php页面,其中jquery显示了一个fancybox。 当显示fancybox时,我需要从数据库加载数据。 单击事件的代码:使用JSON加载时,php将数据加载到fancybox中,php,jquery,json,fancybox,Php,Jquery,Json,Fancybox,我有一个带有fancybox的php页面。 我有一个php页面,其中jquery显示了一个fancybox。 当显示fancybox时,我需要从数据库加载数据。 单击事件的代码: $("a#addActivitat").click(function(){ var retorn; $.getJSON('aplicacio/agendaLoadData.php?action=loadIdAct',function(data){
$("a#addActivitat").click(function(){
var retorn;
$.getJSON('aplicacio/agendaLoadData.php?action=loadIdAct',function(data){
retorn = data;
});
alert(retorn);
});
警报未定义
fancybox的代码:
<div id="agendaAddAct">
<form method="post" action="" target="workFrame" id="actionform">
<p>
<input type="text" name="idRel" id="idRel"/>
</p>
<input type="button" value="Afegir activitat" class="btnsubmit" id="afegirActivitat"/>
</form>
</div>
您没有正确使用
$.getJSON
。请记住,Ajax请求是异步的(Ajax毕竟意味着异步JavaScript和XML)。
因此,retron
变量将不会用从Ajax调用获得的值填充
您应该做的是在收到数据时更新DOM(即在回调函数中)
如果您返回的JSON文档如下
{
"value": 42
}
如果将警报放在成功处理程序中,如果数据从服务器返回,它将向数据发出警报。试着这样做:
$("a#addActivitat").click(function(){
$.getJSON('aplicacio/agendaLoadData.php?action=loadIdAct',function(data){
$("#idRel").val(data);
var retorn = $.parseJSON( data );
alert(retorn);
});
});
我发现了错误:
php页面代码:
$("a#addActivitat").click(function(){
$.getJSON('aplicacio/agendaLoadData.php?action=loadIdAct',
function(data){
$('#idRel').val(data);
});
});
agendaLoadData的名称和代码
echo json_decode("43");
错误是我调用了函数json_encode,需要调用函数json_decode。这可能意味着没有返回数据,可能是地址错误,或者返回的数据不是有效的json。真的很难说吗?
$("a#addActivitat").click(function(){
$.getJSON('aplicacio/agendaLoadData.php?action=loadIdAct',
function(data){
$('#idRel').val(data);
});
});
echo json_decode("43");