{"id":3745,"date":"2014-02-22T07:55:44","date_gmt":"2014-02-22T02:25:44","guid":{"rendered":"http:\/\/JitendraZaa.com\/blog\/?p=3745"},"modified":"2014-02-22T07:55:44","modified_gmt":"2014-02-22T02:25:44","slug":"table-with-sorting-and-searching-using-angularjs","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/webtech\/web\/table-with-sorting-and-searching-using-angularjs\/","title":{"rendered":"Table with Sorting and Searching using AngularJS"},"content":{"rendered":"<p>I hope, from <a title=\"Introduction to AngularJS\" href=\"https:\/\/jitendrazaa.com\/blog\/webtech\/web\/getting-started-with-angularjs\/\" target=\"_blank\">last article you got basic information about AngularJS<\/a>. This time, I will demonstrate how to add basic Searching and Sorting capability to data table using AngularJs.<\/p>\n<p>Output will look something like this :<\/p>\n<figure id=\"attachment_3746\" aria-describedby=\"caption-attachment-3746\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/02\/Searching-and-Sorting-in-Table-using-AngularJS.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3746\" alt=\"Searching and Sorting in Table using AngularJS\" src=\"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/02\/Searching-and-Sorting-in-Table-using-AngularJS-300x128.png?resize=300%2C128&#038;ssl=1\" width=\"300\" height=\"128\" \/><\/a><figcaption id=\"caption-attachment-3746\" class=\"wp-caption-text\">Searching and Sorting in Table using AngularJS<\/figcaption><\/figure>\n<p>Prerequisite Libraries :<\/p>\n<ol>\n<li><a title=\"UnderscoreJs Library\" href=\"http:\/\/underscorejs.org\/underscore.js\">UnderscoreJs<\/a><\/li>\n<li><a title=\"Bootstrap library\" href=\"http:\/\/netdna.bootstrapcdn.com\/bootstrap\/3.1.0\/css\/bootstrap.min.css\">Bootstrap CSS<\/a><\/li>\n<li><a title=\"AngularJs library\" href=\"http:\/\/ajax.googleapis.com\/ajax\/libs\/angularjs\/1.2.12\/angular.min.js\">AngularJs<\/a><\/li>\n<\/ol>\n<p><!--more--><\/p>\n<p><strong>Complete Html Code :<\/strong><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n\n&lt;div ng-app=&quot;myApp&quot;&gt;\n    &lt;div ng-controller=&quot;TableCtrl&quot;&gt;\n        &lt;div class=&quot;input-group&quot;&gt;\n            &lt;input class=&quot;form-control&quot; ng-model=&quot;searchText&quot; placeholder=&quot;Search&quot; type=&quot;search&quot; ng-change=&quot;search()&quot; \/&gt; &lt;span class=&quot;input-group-addon&quot;&gt;\n      &lt;span class=&quot;glyphicon glyphicon-search&quot;&gt;&lt;\/span&gt;\n&lt;\/span&gt;\n        &lt;\/div&gt;\n        &lt;table class=&quot;table  table-hover data-table sort display&quot;&gt;\n            &lt;thead&gt;\n                &lt;tr&gt;\n                    &lt;th class=&quot;EmpId&quot;&gt; &lt;a href=&quot;&quot; ng-click=&quot;columnToOrder='EmpId';reverse=!reverse&quot;&gt;EmpId\n\n                         &lt;\/a&gt;\n                    &lt;\/th&gt;\n                    &lt;th class=&quot;name&quot;&gt; &lt;a href=&quot;&quot; ng-click=&quot;columnToOrder='name';reverse=!reverse&quot;&gt; Name &lt;\/a&gt;\n                    &lt;\/th&gt;\n                    &lt;th class=&quot;Email&quot;&gt; &lt;a href=&quot;&quot; ng-click=&quot;columnToOrder='Email';reverse=!reverse&quot;&gt; Email &lt;\/a&gt;\n                    &lt;\/th&gt;\n                &lt;\/tr&gt;\n            &lt;\/thead&gt;\n            &lt;tbody&gt;\n                &lt;tr ng-repeat=&quot;item in filteredList | orderBy:columnToOrder:reverse&quot;&gt;\n                    &lt;td&gt;{{item.EmpId}}&lt;\/td&gt;\n                    &lt;td&gt;{{item.name}}&lt;\/td&gt;\n                    &lt;td&gt;{{item.Email}}&lt;\/td&gt;\n                &lt;\/tr&gt;\n            &lt;\/tbody&gt;\n        &lt;\/table&gt;\n        &lt;div class=&quot;row&quot;&gt;\n            &lt;div class=&quot;col-xs-3&quot;&gt;\n                &lt;input type=&quot;text&quot; ng-model=&quot;newEmpId&quot; class=&quot;form-control&quot; placeholder=&quot;EmpId&quot;&gt;\n            &lt;\/div&gt;\n            &lt;div class=&quot;col-xs-3&quot;&gt;\n                &lt;input type=&quot;text&quot; ng-model=&quot;newName&quot; class=&quot;form-control&quot; placeholder=&quot;Name&quot;&gt;\n            &lt;\/div&gt;\n            &lt;div class=&quot;col-xs-4&quot;&gt;\n                &lt;input type=&quot;email&quot; ng-model=&quot;newEmail&quot; class=&quot;form-control&quot; placeholder=&quot;Email&quot;&gt;\n            &lt;\/div&gt;\n            &lt;div class=&quot;col-xs-1&quot;&gt;\n                &lt;button ng-click=&quot;add()&quot; type=&quot;button&quot; class=&quot;btn btn-primary&quot;&gt; &lt;span class=&quot;glyphicon glyphicon-plus&quot;&gt;&lt;\/span&gt;\n\n                &lt;\/button&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n    &lt;\/div&gt;\n    &lt;!-- Ends Controller --&gt;\n&lt;\/div&gt;\n<\/pre>\n<p>I am using Tweeter&#8217;s Bootstrap to give required look and feel to my application.<\/p>\n<p><strong>Complete JavaScript code :<\/strong><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n\/\/Demo of Searching and Sorting Table with AngularJS\nvar myApp = angular.module('myApp', &#x5B;]);\n\nmyApp.controller('TableCtrl', &#x5B;'$scope', function ($scope) {\n\n    $scope.allItems = getDummyData();\n\n    $scope.resetAll = function () {\n        $scope.filteredList = $scope.allItems;\n        $scope.newEmpId = '';\n        $scope.newName = '';\n        $scope.newEmail = '';\n        $scope.searchText = '';\n    }\n\n    $scope.add = function () {\n        $scope.allItems.push({\n            EmpId: $scope.newEmpId,\n            name: $scope.newName,\n            Email: $scope.newEmail\n        });\n        $scope.resetAll();\n    }\n\n    $scope.search = function () {\n        $scope.filteredList = _.filter($scope.allItems,\n\n        function (item) {\n            return searchUtil(item, $scope.searchText);\n        });\n\n        if ($scope.searchText == '') {\n            $scope.filteredList = $scope.allItems;\n        }\n    }\n\n    $scope.resetAll();\n}]);\n\n\/* Search Text in all 3 fields *\/\nfunction searchUtil(item, toSearch) {\n    \/* Search Text in all 3 fields *\/\n    return (item.name.toLowerCase().indexOf(toSearch.toLowerCase()) &gt; -1 || item.Email.toLowerCase().indexOf(toSearch.toLowerCase()) &gt; -1 || item.EmpId == toSearch) ? true : false;\n}\n\n\/*Get Dummy Data for Example*\/\nfunction getDummyData() {\n    return &#x5B;{\n        EmpId: 2,\n        name: 'Jitendra',\n        Email: 'jz@gmail.com'\n    }, {\n        EmpId: 1,\n        name: 'Minal',\n        Email: 'amz@gmail.com'\n    }, {\n        EmpId: 3,\n        name: 'Rudra',\n        Email: 'ruz@gmail.com'\n    }];\n}\n<\/pre>\n<p style=\"text-align: justify;\">JSON data is input to table, which can be replaced by any server side JSON response. So, in case if you need to use this example in <em>Salesforce<\/em>, You simply have to change &#8220;<em>getDummyData()<\/em>&#8221; method and get response using REST API. <a title=\"Get JSON Output in Visualforce Page\" href=\"https:\/\/jitendrazaa.com\/blog\/salesforce\/json-output-in-visualforce\/\">This article will be helpful if you are looking on how to generate JSON output in Visualforce page<\/a>.<\/p>\n<p><strong>JavaScript Code Walk-through :<\/strong><\/p>\n<p>We have Initialized Angular Application by this JS statements<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n\n\/\/Initialize Angular JS\nvar myApp = angular.module('myApp', &#x5B;]);\n\nmyApp.controller('TableCtrl', &#x5B;'$scope', function ($scope) {\n      \/\/... code for Controller\n}]);\n<\/pre>\n<p style=\"text-align: justify;\"><strong>Searching records in table<\/strong><br \/>\nWe have defined &#8220;<em>search<\/em>&#8221; function inside Controller which is invoked on every keystroke in search textbox. It is defined using <strong>&#8220;ng-change&#8221;<\/strong> directive in html. &#8220;ng-change&#8221; will call function declared inside controller every time if Data is changed.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;input class=&quot;form-control&quot; ng-model=&quot;searchText&quot; placeholder=&quot;Search&quot; type=&quot;search&quot; ng-change=&quot;search()&quot; \/&gt;\n<\/pre>\n<p>For searching in Controller, we are using &#8220;_filter&#8221; method of underscoreJs.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n $scope.search = function () {\n        $scope.filteredList = _.filter($scope.allItems,\n\n        function (item) {\n            return searchUtil(item, $scope.searchText);\n        });\n\n        if ($scope.searchText == '') {\n            $scope.filteredList = $scope.allItems;\n        }\n    }\n<\/pre>\n<p><strong>Adding records in table <\/strong><\/p>\n<p>We have defined &#8220;<em>add<\/em>&#8221; function inside Controller which is invoked on click of button using directive &#8220;<em>ng-click<\/em>&#8220;. Value is passed to controller using &#8220;<em>ng-model<\/em>&#8221; directive defined inside HTML.<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;div class=&quot;row&quot;&gt;\n            &lt;div class=&quot;col-xs-3&quot;&gt;\n                &lt;input type=&quot;text&quot; ng-model=&quot;newEmpId&quot; class=&quot;form-control&quot; placeholder=&quot;EmpId&quot;&gt;\n            &lt;\/div&gt;\n            &lt;div class=&quot;col-xs-3&quot;&gt;\n                &lt;input type=&quot;text&quot; ng-model=&quot;newName&quot; class=&quot;form-control&quot; placeholder=&quot;Name&quot;&gt;\n            &lt;\/div&gt;\n            &lt;div class=&quot;col-xs-4&quot;&gt;\n                &lt;input type=&quot;email&quot; ng-model=&quot;newEmail&quot; class=&quot;form-control&quot; placeholder=&quot;Email&quot;&gt;\n            &lt;\/div&gt;\n            &lt;div class=&quot;col-xs-1&quot;&gt;\n                &lt;button ng-click=&quot;add()&quot; type=&quot;button&quot; class=&quot;btn btn-primary&quot;&gt; &lt;span class=&quot;glyphicon glyphicon-plus&quot;&gt;&lt;\/span&gt;\n\n                &lt;\/button&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n<\/pre>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n\/\/... Inside Controller\n$scope.add = function () {\n        $scope.allItems.push({\n            EmpId: $scope.newEmpId,\n            name: $scope.newName,\n            Email: $scope.newEmail\n        });\n        $scope.resetAll();\n    }\n<\/pre>\n<p><strong>Sorting records in AngularJs<\/strong><\/p>\n<p style=\"text-align: justify;\">In this Demo, we have not written any Javascript code for Sorting purpose. We are using inbuilt &#8220;<a title=\"Order-By functionality in AngularJS\" href=\"http:\/\/docs.angularjs.org\/api\/ng\/filter\/orderBy\">Order-By<\/a>&#8221; filter of AngularJs framework as shown below:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n       &lt;thead&gt;\n                &lt;tr&gt;\n                    &lt;th class=&quot;EmpId&quot;&gt; &lt;a href=&quot;&quot; ng-click=&quot;columnToOrder='EmpId';reverse=!reverse&quot;&gt;EmpId\n\n                         &lt;\/a&gt;\n                    &lt;\/th&gt;\n                    &lt;th class=&quot;name&quot;&gt; &lt;a href=&quot;&quot; ng-click=&quot;columnToOrder='name';reverse=!reverse&quot;&gt; Name &lt;\/a&gt;\n                    &lt;\/th&gt;\n                    &lt;th class=&quot;Email&quot;&gt; &lt;a href=&quot;&quot; ng-click=&quot;columnToOrder='Email';reverse=!reverse&quot;&gt; Email &lt;\/a&gt;\n                    &lt;\/th&gt;\n                &lt;\/tr&gt;\n            &lt;\/thead&gt;\n<\/pre>\n<p><strong><a title=\"JS fiddle live Demo\" href=\"http:\/\/jsfiddle.net\/ilovenagpur\/3a3zD\/\">Live Working Demo <\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I hope, from last article you got basic information about AngularJS. This time, I will demonstrate how to add basic Searching and Sorting capability to data table using AngularJs. Output will look something like this : Prerequisite Libraries : UnderscoreJs Bootstrap CSS AngularJs<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[26],"tags":[35,49,109,136,147,331,336],"class_list":["post-3745","post","type-post","status-publish","format-standard","hentry","category-web","tag-angularjs","tag-bootstrap","tag-google","tag-json","tag-mvc","tag-salesforce","tag-visualforce"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":3751,"url":"https:\/\/www.jitendrazaa.com\/blog\/webtech\/web\/pagination-and-sorting-of-data-table-using-angularjs\/","url_meta":{"origin":3745,"position":0},"title":"Pagination, Searching and Sorting of Data Table  using AngularJS","author":"Jitendra Zaa","date":"February 22, 2014","format":false,"excerpt":"We have already discussed \"Basics of AngularJS\" and \"Simple Searching and Sorting\". In this article, we will add Pagination feature also to our previous example. What makes difficult is Sorting result when values are returned from Search and pagination is enabled. Unlike previous post we cannot use standard \"OrderBy\" filter\u2026","rel":"","context":"In &quot;HTML&quot;","block_context":{"text":"HTML","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/webtech\/web\/"},"img":{"alt_text":"Searching Sorting and Pagination in Table using AngularJS","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/02\/Searching-Sorting-and-Pagination-in-Table-using-AngularJS-300x156.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3951,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/creating-salesforce-query-builder-in-node-js-and-angularjs-using-salesforce-rest-api-and-oauth2\/","url_meta":{"origin":3745,"position":1},"title":"Creating Salesforce Query Builder in Node.js and AngularJs using Salesforce REST API and OAuth2 with Heroku Button","author":"Jitendra","date":"August 18, 2014","format":false,"excerpt":"In this post, we will be creating a\u00a0Salesforce Query (SOQL) Builder.\u00a0It uses Google's Angularjs MVC Javascript library and REST API provided by Salesforce. For Authentication, it uses OAuth2. Node.js is used as a primary language and hosted on Heroku. If you want to directly deploy to your Heroku Account, You\u2026","rel":"","context":"In &quot;HTML&quot;","block_context":{"text":"HTML","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/webtech\/web\/"},"img":{"alt_text":"SOQL Builder Using Node.js AngularJs Salesforce REST API on Heroku","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/08\/SOQL-Builder-Using-Node.js-AngularJs-Salesforce-REST-API-on-Heroku-1024x504.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/08\/SOQL-Builder-Using-Node.js-AngularJs-Salesforce-REST-API-on-Heroku-1024x504.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/08\/SOQL-Builder-Using-Node.js-AngularJs-Salesforce-REST-API-on-Heroku-1024x504.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":3756,"url":"https:\/\/www.jitendrazaa.com\/blog\/webtech\/web\/dependency-injection-in-angularjs\/","url_meta":{"origin":3745,"position":2},"title":"Dependency Injection in AngularJs","author":"Jitendra Zaa","date":"February 22, 2014","format":false,"excerpt":"In this series, we have gone through many articles on AngularJs. This time I will discuss about Dependency Injection in AngularJs . Dependency injection is a software design pattern that allows the removal of hard-coded dependencies and makes it possible to change them, whether at run-time or compile-time. Before going\u2026","rel":"","context":"In &quot;HTML&quot;","block_context":{"text":"HTML","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/webtech\/web\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3675,"url":"https:\/\/www.jitendrazaa.com\/blog\/webtech\/web\/getting-started-with-angularjs\/","url_meta":{"origin":3745,"position":3},"title":"Getting Started with AngularJs","author":"Jitendra","date":"February 15, 2014","format":false,"excerpt":"AngularJs is most accepted MVC framework in Javascript developed by Google. In my point of view, If its developed by Google then there must be something new and unique about this library. It can be used to provide MVC architect to your web application. It has great developers community, so\u2026","rel":"","context":"In &quot;HTML&quot;","block_context":{"text":"HTML","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/webtech\/web\/"},"img":{"alt_text":"AngularJS by Google","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/02\/AngularJS-by-Google-300x84.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3917,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/ajax-based-autocomplete-typeahead-directive-in-angularjs\/","url_meta":{"origin":3745,"position":4},"title":"Ajax based AutoComplete \/ TypeAhead Directive in AngularJS","author":"Jitendra","date":"July 15, 2014","format":false,"excerpt":"Previously we already discussed below Auto Complete components: Ajax Based Multiselect JQuery Autocomplete Control in ASP.Net AutoComplete Component in Visualforce using JQueryUI In this article, we will be creating TypeAhead Directive (Auto Complete) again in Salesforce However this time we will use AngularJs. Why we are using AngularJS ? We\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"TypeAhead Demo using AngularJs","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/07\/TypeAhead-Demo-using-AngularJs.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/07\/TypeAhead-Demo-using-AngularJs.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/07\/TypeAhead-Demo-using-AngularJs.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/07\/TypeAhead-Demo-using-AngularJs.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4047,"url":"https:\/\/www.jitendrazaa.com\/blog\/webtech\/how-to-use-postgresql-in-nodejs\/","url_meta":{"origin":3745,"position":5},"title":"How to use PostgreSQL in Nodejs","author":"Jitendra","date":"November 17, 2014","format":false,"excerpt":"I have written many articles on Node.js and AngularJs. In this article, I will demonstrate how to use PostgreSQL with Node.js and deploy on Heroku. I think you already smelled that this is one of starting article which will finally merged with Salesforce to create some cool application. Assuming you\u2026","rel":"","context":"In &quot;Node.js&quot;","block_context":{"text":"Node.js","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/others\/node-js\/"},"img":{"alt_text":"PostgreSQL in Node.js","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/11\/PostgreSQL-in-Node.js.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/11\/PostgreSQL-in-Node.js.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/11\/PostgreSQL-in-Node.js.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/3745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=3745"}],"version-history":[{"count":0,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/3745\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=3745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=3745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=3745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}