如何发送特定div的ajax请求

时间:2014-01-13 07:11:41

标签: jquery ajax magento

我遇到了无法解决的问题。部分是因为我无法用正确的术语来解释它。我是新手,对这个笨拙的问题感到抱歉。

您可以在下面看到我的目标概述。

我正在使用Magento CE 1.7.0.2

<select onchange="filter('<?php echo $url;?>')">
    <option value="none" $none>--- Sort By ---</option>
    <option value="date" $date>Newest</option>
    <option value="price" $price>Price</option>
    <option value="name" $name>Name</option>
</select>


<div class="my-products">
    //Structure of my custom products
</div>

我写了一个类似

的脚本
<script type="text/javascript">
      var Jquery=jQuery.noConflict();
      function filter(url1) {
          var data1 = "&id=10";
          try {
              Jquery.ajax({
                    url: url1,
                    type : 'post',
                    data: data1,
                    success: function(response){
                        if (response) {
                           var string = Jquery('.my-products', response);
                           Jquery('.my-products').html(string);
                        }
                    }
              });
          }
          catch(e){ }
          return false;
    }
</script>

因为它的工作正常...但我的问题是在后台它正在更新完整页面,因为这样我丢失了一些敏感数据。

但我的计划是仅更新特定的div而不是整个页面。

任何想法?

2 个答案:

答案 0 :(得分:0)

使这项工作所需的一切都是假的;或e.preventDefault()

<script type="text/javascript">
      var Jquery=jQuery.noConflict();
      function filter(url1) {
          var data1 = "&id=10";
          try {
              Jquery.ajax({
                    url: url1,
                    type : 'post',
                    data: data1,
                    success: function(response){
                        if (response) {
                           var string = Jquery('.my-products', response);
                           Jquery('.my-products').html(string);
                        }
                    }
              });
          }
          catch(e){ }
          e.preventDefault(); 
          return false; // any one of this two should work
    }
</script>

答案 1 :(得分:0)

尝试放return flase

function filter(url1) {
          var data1 = "&id=10";
          try {
              Jquery.ajax({
                    url: url1,
                    type : 'post',
                    data: data1,
                    success: function(response){
                        if (response) {
                           var htmldata = Jquery('<div/>').html(response);
                           Jquery('.my-products').html(htmldata);
                        }
                    }
              });
          }
          catch(e){ }
      return false;
    }