将多个echo作为Ajax请求的数据返回

时间:2015-11-25 08:06:11

标签: javascript php jquery ajax

我有一个Ajax请求,它调用&#34; get_suggestion_table.php&#34;。这个php文件的工作是创建一个HTML表体。创建此表的最漂亮的方法是使用多个echo行,因为我有每个<tr></tr>元素的foreach。不幸的是,ajax成功函数只能使用我的php文件的第一个echo。

因此我想知道如何正确归还整个桌子。用一个回声返回所有东西的唯一方法是什么? (Aka构建一个大字符串,其中包括我在php文件中创建的整个表,然后回显此字符串?)。

我的get_suggestion_table.php:

echo "<tbody>";
foreach($suggestedSentences as $suggestion)
{
?>
<tr lang="de" dir="ltr" id="sugg-cont-<?echo $suggestion["sugg_id"];?>">
      <td id="sugg-block-<?echo $suggestion["sugg_id"];?>" <?if($suggestion["sugg_id"] == $sugg_id) echo 'class="mytranslation"';?>>
        <div class="actionbuttons">

         <ul class="actions compact">
               <li id="approve-sugg-<?echo $suggestion["sugg_id"];?>" class="alert-success">
                 <a class="vote up" data-original-title="Approve" href="javascript:void(0);" onclick="send_vote(this, '<?echo $suggestion["sugg_id"];?>', 1)">
                <span>Up</span></a>
               </li>
               <li><a class="vote down" data-original-title="Reject" href="javascript:void(0);" onclick="send_vote(this, '<?echo $suggestion["sugg_id"];?>', -1)"><span>Down</span></a>
               </li>
             </ul>
        </div>

            <div class="translation suggestions_compact-suggestion_text" lang="de" dir="ltr"><?echo $suggestion["message"];?></div>

      </td>
    </tr>
<?}
echo "</tbody>";

我的Ajax请求:

        // Replace suggestiontable
        var get_suggestion_table = $.post( "/assets/get_suggestion_table.php", { suggestion_id:  sugg_id, original_id: unit_id });

        get_suggestion_table.done(function (data) {
            $(replace_node).html(data);
        });

1 个答案:

答案 0 :(得分:1)

尝试添加html的数据类型:

  $.post( "/assets/get_suggestion_table.php", { suggestion_id:  sugg_id, original_id: unit_id },function (data) {
                $(replace_node).html(data);
            },'html');

请参阅:http://www.w3schools.com/jquery/ajax_post.asp