如何传递$ .ajax中的参数在json中过滤?

时间:2015-03-28 20:05:57

标签: jquery ajax

 var type = $(this).attr('id');
    $.ajax({
          type: 'GET',
          url: 'path/to/example.json',
          dataType: 'json',
          data: {type: "type"} //not working?
          ......

    {

的Json

  "name": "Jh",
  "type": "zoologist, hobbyist"
},

HTML

   <div class="filter">
          <a href="?type=all" id="all">View All</a>
          <a href="?type=zoologist" id="zoologist">Zoologist</a>
          <a href="?type=hobbyist" id="hobbyist">Hobbyist</a>
          <a href="?type=judge" id="judge">Judge</a>
      </div>

不熟悉$ .ajax并且在很长一段时间内感到沮丧,试图将参数传递给json中的类型过滤器。

将点击过滤器链接,然后获取id的属性。然后想要将此id传递给数据:{type:type}。

想要检索过滤的相同类型的详细信息

不明白为什么它没有做任何事情。或者不可能在json中按类型过滤?

1 个答案:

答案 0 :(得分:0)

显然,在将数据发送回客户端之前过滤数据会更好,但根据您没有使用/想要任何服务器端代码的注释。

因此,只需使用js,就可以返回整个数据集并对其进行过滤:

 $.ajax({
    type: 'GET',
    url: 'path/to/example.json',
    dataType: 'json',
    success: function(response) {
        console.log('success, filtering response...');

        //Filter the returned json by "filter"            
        var filteredJson = $(response).filter(function (i,n) { 
            return n.type === $('#someId').attr('id'); 
        });

        //... more code
    }
 });