1

我对 jquery ajax 很陌生,我试图弄清楚如何将从 php 返回的响应数据呈现为 json 以更新指定的 div。所以实际上我遇到了以下问题。

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 代码看起来还是可以以其他方式完成?

4

3 回答 3

1

假设您要生成用户定义的 html,然后可以使用微模板MicroTemplating

希望这是你想要的。

于 2012-05-25T06:15:32.773 回答
0

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

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

or 

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

代替$parents.(response).fadeIn();

于 2012-05-25T06:15:29.150 回答
0
$parents.(response).fadeIn();

应该

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

或者

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

.html()更新 $parents 的内容

阅读.text()

于 2012-05-25T06:13:46.060 回答