【问题标题】:How to display the data from ajax into smarty template?如何将 ajax 中的数据显示到 smarty 模板中?
【发布时间】:2014-02-26 12:00:51
【问题描述】:

我的Smarty模板如下:

<form id="view-transactions-form" name="user_transactions_status" action="{$control_url}modules/transactions/view_transactions.php" method="post">
  <input type="hidden" name="from_date" value="{$from_date}"/>
  <input type="hidden" name="to_date" value="{$to_date}"/>
  <input type="hidden" name="transaction_status" value="{$transaction_status}"/>
  <input type="hidden" name="transaction_no" value="{$transaction_no}"/>
  <div class="trans_menu">
    <ul class="trans_menuul">
      <li>
        <a href="#" class="blue_active">
          <div>
            <div class="checkbxd"><input class="custom-check" type="checkbox" name="cancelled" id="cancelled" onChange="return submitForm();"></div>
            <div class="checkbxd_txt">Cancelled : {$user_transactions_count.cancelled_transaction_count}</div>
          </div>
        </a> 
      </li>
      <li>
        <a href="#" class="green">
          <div>
            <div class="checkbxd"><input class="custom-check" type="checkbox" name="success" id="success" onChange="return submitForm();"></div>
            <div class="checkbxd_txt">Success : {$user_transactions_count.success_transaction_count}</div>
          </div>
        </a> 
      </li>
      <li>
        <a href="#" class="yellow">
          <div>
            <div class="checkbxd"><input class="custom-check" type="checkbox" name="inprocess" id="inprocess" onChange="return submitForm();"></div>
            <div class="checkbxd_txt">Inprocess : {$user_transactions_count.inprocess_transaction_count}</div>
          </div>
        </a> 
      </li>
      <li>
        <a href="#" class="red">
          <div>
            <div class="checkbxd"><input class="custom-check" type="checkbox" name="failed" id="failed" onChange="return submitForm();"></div>
            <div class="checkbxd_txt">Failed : {$user_transactions_count.failed_transaction_count}</div>
          </div>
        </a> 
      </li>
    </ul>
  </div>
</form>

ajax调用如下:

{literal}
<script language="javascript" type="text/javascript">
function submitForm() {
  var form = document.user_transactions_status;

  var dataString = $(form).serialize();

  $.ajax({
    type:'POST',
    url:'view_transactions.php',
    data: dataString,
    success: function(data) {

    }
  });
  return false;
} 
</script> 
{/literal}

而PHP代码如下:

list( $grid_data, $transaction_count_data, $sort_status, $sort_link_array, $pag_link_array ) = get_all_user_transactions($request,$cur_page, $sort_col_id ,$desc_or_asc, $where_str, $query_string);
    //print_d($grid_data);
    list( $grid_data ) = prepare_response($grid_data);
    list( $transaction_count_data ) = prepare_response($transaction_count_data);
$smarty->assign('user_transactions', $grid_data);
  $smarty->assign('user_transactions_count', $transaction_count_data);
  $smarty->assign('cur_page', $cur_page);
die();

如果我在 firebug 控制台中看到但无法在网页上显示,我可以获得所需的数据。有人可以在这方面指导我吗?

【问题讨论】:

    标签: php jquery ajax smarty


    【解决方案1】:

    在您的 ajax 成功函数中,将数据放置在您想要显示的位置 EX : 在 div 中显示响应数据

    <div id="display"></div>
    
        $.ajax({
           type:'POST',
           url:'view_transactions.php',
           data: dataString,
           success: function(data) {
              $('#display').html(data);
           }
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 2016-09-26
      • 2014-11-22
      • 2018-03-07
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多