繁体   English   中英

PHP结果未以HTML显示

[英]PHP results not displaying in HTML

我已经阅读了多篇文章,但对我没有任何帮助,因此如果有人可以提供帮助,我将不胜感激。 我正在尝试将Full_Name字段显示为网页上的HTML元素。

PHP文件如下:

{"Test_Info": {
    "Company_Info": {
        "Company_ID": "2",
        "Company": "Test Company",
        "Full_Name": "Test User"
    }}

我在HTML代码的主体中使用以下代码:

<body id="startscreenBG">

       <div class="hello"> </div>

</body>
        <script>
                    $.ajax({
                    type:'GET',
                    url:'jsondata.php',
                    data:'json',
                    success: function(data){
                            var newhtml = ''; 
                            $.each(data, function(i, item) {
                                    newhtml +='<div>'+ item.Full_Name +'</div>'; 
                            });
                            $('.hello').html(newhtml); 
                            }})
         </script>
</html>

这不是您面临的HTML问题,而是数据循环问题。 打开控制台(F12),并确保XHR请求实际上返回了您期望的结果。 然后写: debugger; 在行上方: var newhtml =''; 并检查数据变量的内容。

然后确保您的循环功能按预期工作:

$.each(data, function(i, item) {
    debugger; 
});

您将认识到“ item”变量不包含具有“ Full_Name”属性的预期对象。

基本上,当您遇到问题时,解决问题的方法是逐步调试代码,并确保每个函数都按预期执行,并且每个变量都具有预期的内容。

之所以最终出现这种情况,是因为您使用的是模糊的名称,例如:“数据”。 您的内容实际上包含“ unparsedCompanyCollection”。 我建议您也习惯于精确的变量名,这将长期帮助您进行调试,并且通常使用干净的代码。

只是一个猜测,但是您可能返回的是Json数据字符串,而不是实际的json数据。 通常,您只需在输出内容标头中添加内容标头即可对其进行修复。

在您的使JSON添加的PHP文件中

header('Content-Type: application/json');

在输出数据之前。

success callback您可以进行一些调试以查看

  ...
  success: function(data){
      console.log( data );  // Or even just alert(data); if it's a string then you know.
      ...
   }

解决它的另一种方法是使用JSON.parse( data )

您应该将data:'json'更改为dataType:'json' 另外,您正在尝试输出item.Full_Name 这应该是item.Company_Info.Full_Name 您的ajax调用应为:

$.ajax({
    type:'GET',
    url:'jsondata.php',
    dataType:'json',
    success: function(data){
        var newhtml = ''; 
        $.each(data, function(i, item) {
            newhtml +='<div>'+ item.Company_Info.Full_Name +'</div>'; 
        });
        $('.hello').html(newhtml); 
    }
});

而且,您应该更正PHP以容纳有效的JSON对象(请注意,问题中发布的代码中缺少结尾}

{"Test_Info": {
    "Company_Info": {
        "Company_ID": "2",
        "Company": "Test Company",
        "Full_Name": "Test User"
    }
}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM