【问题标题】:insert ajax response in data table [closed]在数据表中插入ajax响应[关闭]
【发布时间】:2014-08-06 04:45:50
【问题描述】:

我需要在数据表中插入一个 AJAX 响应数据。我收到了 AJAX 响应,并且在 AJAX 成功后,我需要在数据表中插入响应数据。

 $.ajax({
    type: "POST",
    url: "macrocall.cgi",
    data: { macro:"loadcase_ajax",CGISESSID:$CGISESSID,ph_name:phase_name},
    dataType: 'text',
    success:function (data) 
            {       
                var return_data=data;
                alert("return data"+return_data);
            }
   });

这是返回数据格式。

return data**~93~ARRIAE~BETEA~FRONT_IMPACT~FL 1 - 48 Kmph ~../macro/1176/images/FL1.jpg**

我的 HTML 看起来像,

<html>
<table cellpadding="0" cellspacing="0" border="1" class="display"
    id="example">
    <thead>
        <tr style="background-color: #336699;">
            <th><font color="#fff">SNO</font></th>
            <th><font color="#fff">TESTG PHASE</font></th>
            <th><font color="#fff">PROJECT NAME</font></th>
            <th><font color="#fff">IMPACT</font></th>
            <th><font color="#fff">LOADCE</font></th>
            <th><font color="#fff">IMAGE</font></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Response values to be inserted here</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
</html>

请建议怎么做..上表是数据表。

【问题讨论】:

  • 我已经尝试通过创建一个 td 运行时并将其附加到表中来使用 for 循环结构插入它。这东西有效,但数据表不起作用..数据没有插入数据表中。

标签: jquery ajax datatables html-table


【解决方案1】:

如果您无法从服务器/数据源以更好的格式获取数据,您必须:

  1. 自行将数据解析为可用格式。为此,我首先删除了data** 前缀和** 后缀,然后通过使用~ 作为分隔符拆分字符串来创建一个值数组。然后将数据存储在一个数组中。
  2. 遍历数据集,为包含相应数据的表行准备 HTML。为了获得额外的荣誉,我在循环中添加了一个检查,以查看字符串中的值是否有 /image/,这表明它是一个路径而不是简单的值。
  3. 将值插入表中。

jsFiddle demo

【讨论】:

  • 非常感谢您的帮助。问题已解决
【解决方案2】:

1 - 首先,尝试将 dataType 更改为 'json'

2 - 在您的 ActionClass 中使用了哪个变量名。 example : private ProjectInfo variable_name;

3 - 检查返回的数据格式是否如下所示:

{"variable_name" : ["93", "ARRIAE","BETE","FRONT_IMPACT","FL 1 - 48 kmph","../macro/1176/images/FL1.jpg"]};

4 - 现在将数据附加到您的表中。

for(i=0;i<data.variable_name.length;i++){ $('<tr>"+data.variable_name[i]+"</tr>').appendTo('table > tbody'); }

【讨论】:

    猜你喜欢
    • 2012-07-16
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多