如何呈现jquery ajax响应

时间:2012-05-25 06:12:44

标签: jquery ajax

我是jquery ajax的新手,我正在试图弄清楚如何渲染响应数据,我从php回来更新指定的div作为json。所以实际上我遇到了以下问题。

JavaScript:

<script type="text/javascript">
  $(document).ready(function() {
    $(".ajax_call").change(function() {
      var domain = document.domain;
      var count = $('.ajax_call :selected').val();
      var $parent = $(this).closest(".product_box");
      var modul_title = $("h4", $parent).text();
      $.ajax({
        url:'index/ajax',
        data:{mod_title:modul_title, domain:domain, count:count},
        cache:'false',
        datatype:'json',
        success: function(response) {
          if (response.status = modul_title) {
            $parent.fadeOut();
            $parents.(response).fadeIn();                            
          } else {
            alert("Oops, script is a no go");
          }    
        }   
      });
   });
});

HTML:

<div class="product_box">
  <h4><!-- php code generating --> header</h1>
  <div class="product">
    <div class="thumbnail-item">
      <a href=""></a>
      <!-- and couple of other divs what are rendering my output in my mvc view -->
      <div class="ajax_bar">
        <!-- and here comes the dropdown what is triggering an ajax call -->
        <select class="ajax_call" size="1" name="blala">
          <option value='50'>add more 50</option>
          <option value='100'>add more 100</option>
          <option value='150'>add more 150</option>
        </select>
      </div>
    </div>
  </div>
</div>

我想要的是用ajax调用更新显示项目的数量。我不清楚如何呈现响应。我是否必须再次形成原始数据?我的意思是我的html-php代码看起来或者可以用其他方式完成?

3 个答案:

答案 0 :(得分:1)

假设您要生成用户定义的html,那么可以使用microtemplating MicroTemplating

希望这就是你想要的。

答案 1 :(得分:0)

$parents.(response).fadeIn();

应该是

$parents.html(response).fadeIn(); 

$parents.text(response).fadeIn(); 

.html()更新$ parents的内容

阅读.text()

答案 2 :(得分:0)

您需要使用html或text方法才能显示

$parents.html(response).fadeIn();

or 

$parents.text(response).fadeIn();

而不是$parents.(response).fadeIn();