0

我无法理解为什么 dataTables 拒绝显示单行数据,但它对于任何大于 1 行的数据集都可以正常工作。我不认为这也说明了问题,因为我认为这是错误的 JSON 消息的格式,或者根据我的视图过滤器没有工作,所以.....直接它将条件并返回值来自数据库表

这是一个 10 条记录的 JSON 响应,可以正常工作:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="Getmessage_seq" onError="fault" trace="disable">
   <property name="CONTENT_TYPE" value="application/json" scope="axis2" type="STRING"/>
   <filter xmlns:ns="http://org.apache.synapse/xsd" xmlns:s="http://ws.wso2.org/dataservice" xpath="s://logid/text()=' '">
      <then>
         <payloadFactory>
            <format>
               <ResponseJSON xmlns="">
                  <Exception>NO Data Found In Database</Exception>
                  <Status>404</Status>
               </ResponseJSON>
            </format>
         </payloadFactory>
         <send/>
      </then>
      <else>
         <property name="AAR" expression="count(//s:Datalist)" scope="default" type="STRING"/>
         <enrich>
            <source clone="true" type="custom" xpath="//s:Datalist"/>
            <target action="replace" type="property" property="List"/>
         </enrich>
         <property name="CONTENT_TYPE" value="application/json" scope="axis2"/>
         <payloadFactory>
            <format>
               <ResponseJSON xmlns="">
                  <Body>$1</Body>
                  <Status>200</Status>
                  <Total>$2</Total>
               </ResponseJSON>
            </format>
            <args>
               <arg expression="get-property('List')"/>
               <arg expression="get-property('AAR')"/>
            </args>
         </payloadFactory>
         <send/>
      </else>
   </filter>
</sequence>

enter code here

最后,当我的表包含多个记录数据时,它在 json 中显示为一个数组,当它变成一个记录时,数据在 json 中不显示为一个数组。

4

1 回答 1

0

您可以将单个元素包装在一个数组中,以便两个响应具有相同的结构。$myVar = array('recordSet' => $this->myRecord[0]);

于 2013-04-10T05:37:13.657 回答