javascript - 使用Ajax调用表数据中的php文件出错

标签 javascript php html ajax

我有一个小项目,其中有不同的新闻。我必须将此 news_all.php 文件包含在仪表板.php 文件的表数据中。我有预定义的根结构,其中我无法使用 include('news.php) 并且我不想使用它。因此,在这种情况下,我如何能够在dashboard.php文件中的表数据中调用news.php文件。我使用了Ajax方法。我几乎完成了,但我的代码中出现了小错误。任何帮助。谢谢。 这是我的代码:

仪表板.php

   <?php
// -- REGISTER ERSTELLEN -------------------------------------------------------

$page['register-news'] = array(
    1   => array( 'News','aktiv',$page['script'],'',''),
);

$page['edit-register-news'] = array(
    1   => array( 'Edit-News','aktiv',$page['script'],'',''),
);


$page['content'] .= '

<table width="538" cellspacing="0" cellpadding="0" border="0" >
    <tr>
        <td id="News">
            <div>'.CreateRegister($page['register-news']).'</div>
            '.CreateMessage().'
            <div class="cont-liste-verlauf register">           


            </div>
        </td>
    </tr>
</table>';


?>

news_all.php

        <?php
include 'constant/const_system.inc.php';
include 'functions/ad_json.inc';
include 'functions/ad_formulare.inc';
$html = 
'<table width="538" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>

<a href="news.php?id=" class="TrackNews" id="01">
<div class="welcome-rahmen lng toggleNews" id="news_269_kurz">
<p class="welcome-breadcrump">Montag, 19.05.2014</p>
<p class="welcome-subheadline">Teilnahme von MAN Top Used an der Samoter 2014</p>
<div class="newsText">
<p class="welcome-text"><img src="http://intern.autodo.de/admin/news/man-it.jpg" width="165" class="text_fixed" border="0"></p>
<p class="welcome-text">Die 29. Internationale Erd- und Bautechnik-Ausstellung Samoter fand zwischen dem 8. und 11. Mai in Verona statt und zog rund 100.000 Besucher an. Samoter ist die wichtigste italienische Messe ihrer Art, die den Themen Erdbewegung, Hochbau und Baumaschinen gewidmet ist. Zugleich ist diese Veranstaltung damit auch f? europ?chen Markt bedeutsam.</p>
</div>
</div>
</a>

<a href="news.php?id=" class="TrackNews" id="02">
<div class="welcome-rahmen lng toggleNews" id="news_264_kurz">
<p class="welcome-breadcrump">Freitag, 24.01.2014</p>
<p class="welcome-subheadline">Kaufvertrag: neue Porsche-Vorlage zum Drucken!</p>
<div class="newsText">
<img src="http://intern.autodo.de/admin/news/porsche-kaufvertrag.jpg" border="0" align="right" class="img_fixed" width=60><p class="welcome-text">Ihr AMO Druckcenter bietet Ihnen ab sofort die M?chkeit, Kaufvertr? im Porsche-Design zu nutzen.</p>
<p class="page-breadcrump">AutoDo!-Team</p>
</div>
</div>
</a>
</td>
</tr>
</table>';
$return = array(
        'status' => 1,
        'html'  => $html
    );

    echo(json_encode($return)) ;

?>

ajax.js

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

    <script>
    $.ajax({
              type: "POST",
              url: "news_all.php",
              dataType : 'json',
              cache: false,
              data: {},
              success: function(data){
                 $('#news').html(data.html);
              }
            });

    </script>

最佳答案

您已经快到了,自从您使用 data.html 以来,有两件主要事情

  • dataType : 'json' (在 AJAX 调用中)
    • 这会告诉您的 AJAX 函数将接收到的数据视为 JSON 对象,从而允许您使用 data.html(查看更多 jQuery.ajax() documentation )
  • echo(json_encode($return)) (在 news_all.php 输出中)
    • 这会以 JSON 兼容格式提供输出

下面是我的示例代码

仪表板.php

<table width="538" cellspacing="0" cellpadding="0" border="0" >
    <tr>
        <td id="news">
            <div>'.CreateRegister($page['register-news']).'</div>
            '.CreateMessage().'
            <div class="cont-liste-verlauf register">           


            </div>
        </td>
    </tr>
</table>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

<script>
$.ajax({
          type: "POST",
          url: "news_all.php",
          dataType : 'json',
          cache: false,
          data: {},
          success: function(data){
             $('#news').html(data.html);
          }
        });

</script>

news_all.php

<?php
$html =' <table width="538" cellpadding="0" cellspacing="0" border="0">
    <tr>
    <td>    
    <a href="news.php?id=" class="TrackNews" id="01">
        <div class="welcome-rahmen lng toggleNews" id="news_269_kurz">
        <p class="welcome-breadcrump">Montag, 19.05.2014</p>
        <p class="welcome-subheadline">Teilnahme von MAN Top Used an der Samoter 2014</p>
        <div class="newsText">
        <p class="welcome-text"><img src="http://intern.autodo.de/admin/news/man-it.jpg" width="165" class="text_fixed" border="0"></p>
        <p class="welcome-text">Die 29. Internationale Erd- und Bautechnik-Ausstellung Samoter fand zwischen dem 8. und 11. Mai in Verona statt und zog rund 100.000 Besucher an. Samoter ist die wichtigste italienische Messe ihrer Art, die den Themen Erdbewegung, Hochbau und Baumaschinen gewidmet ist. Zugleich ist diese Veranstaltung damit auch f? europ?chen Markt bedeutsam.</p>
        </div>
        </div>
        </a>

        <a href="news.php?id=" class="TrackNews" id="02">
        <div class="welcome-rahmen lng toggleNews" id="news_264_kurz">
        <p class="welcome-breadcrump">Freitag, 24.01.2014</p>
        <p class="welcome-subheadline">Kaufvertrag: neue Porsche-Vorlage zum Drucken!</p>
        <div class="newsText">
        <img src="http://intern.autodo.de/admin/news/porsche-kaufvertrag.jpg" border="0" align="right" class="img_fixed" width=60><p class="welcome-text">Ihr AMO Druckcenter bietet Ihnen ab sofort die M?chkeit, Kaufvertr? im Porsche-Design zu nutzen.</p>
        <p class="page-breadcrump">AutoDo!-Team</p>
        </div>
        </div>
        </a>

        <a href="news.php?id=" class="TrackNews" id="03">
        <div class="welcome-rahmen lng toggleNews" id="news_265_kurz">
        <p class="welcome-breadcrump">Mittwoch, 15.01.2014</p>
        <p class="welcome-subheadline">AutoDo! Update: Die Eigenschaft -Unfallfahrzeug- wurde im AMO erweitert!</p>
        <div class="newsText">
        <p class="welcome-text">Ab sofort k?n Sie Fahrzeuge nach folgenden Kriterien kennzeichnen:</p>
        <p class="highlight"><b>? Unfallfahrzeug<br>
        ? Unfallfrei<br>
        ? Keine Angabe</b></p>
        <p class="page-breadcrump">AutoDo!-Team</p>
        </div>
        </div>
        </a>
    </td>
    </tr>
</table>
';
$return = array(
        'status' => 1,
        'html'  => $html
    );

    echo(json_encode($return)) ;

?>

关于javascript - 使用Ajax调用表数据中的php文件出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24058197/

相关文章:

javascript - 用于 Javascript 对象的位移运算符

javascript - iPhone/iPad 视角在纵向和横向上发生变化

javascript - 无法附加 jquery

php - 无法在我的数据库中搜索相关数据 ||错误 : Trying to get property of non-object

javascript - 避免影响加载列表

php - 如何使用ajax上传图片并预览

html - role=form 如何帮助辅助功能?

javascript - 复选框验证器

javascript - AngularJS 找不到提供者

javascript - 在 HTML 上显示的 Ping 功能