从php获取html内容作为json时出现问题

从php获取html内容作为json时出现问题,php,jquery,html,json,Php,Jquery,Html,Json,我找了好几样东西后就试了。它不起作用。请帮帮我 ----------jquery函数---------------------------- function show_reqfunc_to_box(this_id){ var enc_item_id = this_id; enc_item_id = enc_item_id.split("--")[1]; reqfunc_to_item_id_hidden = '#reqfunc_to_item_id_hidden--'+

我找了好几样东西后就试了。它不起作用。请帮帮我

----------jquery函数----------------------------

function show_reqfunc_to_box(this_id){
    var enc_item_id = this_id;
    enc_item_id = enc_item_id.split("--")[1];
    reqfunc_to_item_id_hidden = '#reqfunc_to_item_id_hidden--'+enc_item_id;
    item_id = $(reqfunc_to_item_id_hidden).val();
    var current_action_reqfunc_to_id = '#current_action_reqfunc_to_id--'+enc_item_id;
    if(($(current_action_reqfunc_to_id).css('display'))=='none'){
        $.getJSON('./ajax_funcs.php?func=reqfunc_to_box',{item_id_reqfunc_to:item_id,enc_item_id:enc_item_id},function(data){
            $('.current_action_reqfunc_to_and_chain').hide();
            $(current_action_reqfunc_to_id).center_box();
            $(current_action_reqfunc_to_id).load(data['reqfunc_box_html']);
            //$(current_action_reqfunc_to_id).center_box();
            $(current_action_reqfunc_to_id).show();
        });             
    }

}
--------获取HTML内容的php代码---------

function reqfunc\u to\u框($item\u id,$encod\u item\u id){
$usr\u n\u item\u details\u qry='some query to get data'
$usr\u n\u item\u details\u res=mysql\u查询($usr\u n\u item\u details\u qry);
$usr\u n\u item\u details\u row=mysql\u fetch\u数组($usr\u n\u item\u details\u res);
$item=$usr_n_item_details_行['item'];
$cur_usr_name=$usr_n_item_details_行['usr_name'];
$cur_usr_img_name=$usr_n_item_details_行['usr_img'];
//echo($cur_usr_img_name);die(0);
$action_to_do='reqfunc';
$pick_friends_for_reqfunc=ajax_fcs::chain_and_reqfunc_fn($action_to_do,$encod_item_id,$usr_n_item_details_row,$item_type);
$cur_usr_img=ajax_fcs::get_usr_img($usr_n_item_details_row['usr_id',$cur_usr_img_name,$cur_usr_name);
$chain_and_reqfunc_res_id='chain_and_reqfunc_res_id'.$encod_item_id'.''.$action_to_do;
$chain_and_reqfunc_selected_res_id='chain_and_reqfunc_selected_res_id'.$encod_item_id'.'.$action_to_do;
$reqfunc_至_框=“”;
$reqfunc_至_框=“”;
$reqfunc_至_框=“”;
$reqfunc_to_box.=“reqfunc to specific friendsX”;
//$reqfunc_to_box.=“reqfunc to specific friends”;
//$reqfunc_至_框=“x”;
$reqfunc_至_框=“”;
$reqfunc_至_框=“”;
$reqfunc_至_框=“”;
$reqfunc_to_框=“$cur_usr_img$项”;
$reqfunc_至_框=“”;
$reqfunc_至_框=“”;
$reqfunc_to_box.=“reqfunc好友$pick_Friends_for_reqfunc”;
$reqfunc_至_框=“”;
$reqfunc_至_框=“”;
$reqfunc_至_框=“”;
$reqfunc_至_框=“”;
$reqfunc_至_框=“”;
$reqfunc_to_box=json_编码(数组('reqfunc_box_html'=>$reqfunc_to_box));
将$reqfunc_回送至_框;
}

首先运行PHP文件的输出,查看它是否是有效的JSON。

在黑暗中拍摄:

您需要发送正确的电子邮件

尝试更改:

$(current_action_reqfunc_to_id).load(data['reqfunc_box_html']);


所以,您请求的是JSON,但您发送的是HTML。。什么不起作用?澄清它,并尝试谷歌什么是JSON。你不能把苹果和桔子混在一起,而指望香蕉。我是在看到这个链接的最后一篇文章时这样做的。在jquery函数的执行过程中没有发生任何事情。您似乎在说JSON,而您指的是AJAX?您只是在听来自AJAX调用的完整回调。尝试侦听错误回调并在控制台上记录该错误。它可能会指出您的代码具体在哪里被破坏。我猜,当它实际接收到一个HTML块时,它可能会尝试解析JSON,而正确的JSON MIME类型是
application/JSON
header('Content-Type: application/json; charset=utf8');
echo $reqfunc_to_box;
$(current_action_reqfunc_to_id).load(data['reqfunc_box_html']);
$(current_action_reqfunc_to_id).html(data['reqfunc_box_html']);