﻿
{"id":8459,"date":"2018-07-08T15:33:38","date_gmt":"2018-07-08T15:33:38","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=8459"},"modified":"2018-07-08T15:33:38","modified_gmt":"2018-07-08T15:33:38","slug":"ajax-ile-web-api-tetikleme","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/ajax-ile-web-api-tetikleme\/","title":{"rendered":"Ajax \u0130le Web API Tetikleme"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bu i\u00e7eri\u011fimizde Ajax mimarisi ile Web API&#8217;lerin nas\u0131l tetiklendi\u011fini inceleyece\u011fiz.<\/p>\n<p>Elimizde a\u015fa\u011f\u0131daki gibi bir web api oldu\u011funu d\u00fc\u015f\u00fcnelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public class PersonelController : ApiController\r\n    {\r\n        NorthwindEntities db = new NorthwindEntities();\r\n        public List&lt;Personel&gt; GetAll() =&gt; db.Personeller.OrderByDescending(p =&gt; p.PersonelID).Select(p =&gt; new Personel\r\n        {\r\n            Adi = p.Adi,\r\n            PersonelID = p.PersonelID,\r\n            SoyAdi = p.SoyAdi,\r\n            Unvan = p.Unvan\r\n        }).ToList();\r\n        public IHttpActionResult Post(Personel personel)\r\n        {\r\n            if (personel != null)\r\n            {\r\n                db.Personeller.Add(personel);\r\n                db.SaveChanges();\r\n                return Ok($&quot;{personel.Adi} {personel.SoyAdi} isimli personel ba\u015far\u0131yla eklenmi\u015ftir.&quot;);\r\n            }\r\n            return Ok(&quot;Personel eklenirken beklenmeyen bir hatayla kar\u015f\u0131la\u015f\u0131ld\u0131.&quot;);\r\n        }\r\n    }\r\n<\/pre>\n<p>\u015eimdi Ajax ile bu web apiye eri\u015fip, tetikleyelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            $(&quot;#btnGetPersoneller&quot;).click(function () {\r\n                $(&quot;#allPersonel&quot;).html(&quot;&quot;);\r\n                $.ajax({\r\n                    url: &quot;http:\/\/localhost:53156\/api\/personel\/GetAll&quot;,\r\n                    type: &quot;GET&quot;,\r\n                    crossDomain: true,\r\n                    dataType: &quot;json&quot;,\r\n                    success: function (data) {\r\n                        $.each(data, function (IndexNo, Deger) {\r\n                            $(&quot;#allPersonel&quot;).append(Deger.Adi + &quot; &quot; + Deger.SoyAdi + &quot;&lt;br&gt;&quot;);\r\n                        });\r\n                    },\r\n                    error: function (xhr, status, error) {\r\n                        alert(&quot;Hata : &quot; + error);\r\n                    }\r\n                });\r\n            });\r\n<\/pre>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    &lt;div&gt;\r\n        &lt;h2&gt;Get&lt;\/h2&gt;\r\n        &lt;button id=&quot;btnGetPersoneller&quot;&gt;Get All&lt;\/button&gt;\r\n        &lt;div id=&quot;allPersonel&quot; style=&quot;color:chocolate;font-size:12px;&quot;&gt;&lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n<\/pre>\n<p>\u00c7al\u0131\u015fmam\u0131z\u0131 kaydedip, \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda a\u015fa\u011f\u0131daki hatayla kar\u015f\u0131la\u015faca\u011f\u0131z.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/07\/Ajax-\u0130le-Web-API-Tetikleme.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/07\/Ajax-\u0130le-Web-API-Tetikleme.png\" alt=\"Ajax \u0130le Web API Tetikleme\" width=\"427\" height=\"60\" class=\"aligncenter size-full wp-image-8461\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/07\/Ajax-\u0130le-Web-API-Tetikleme.png 427w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/07\/Ajax-\u0130le-Web-API-Tetikleme-300x42.png 300w\" sizes=\"auto, (max-width: 427px) 100vw, 427px\" \/><\/a><\/p>\n<p>Hatam\u0131z\u0131 metinsel olarak ele al\u0131rsak e\u011fer;<\/p>\n<blockquote><p>\n<em><strong>Failed to load http:\/\/****\/api\/personel\/GetAll: No &#8216;Access-Control-Allow-Origin&#8217; header is present on the requested resource. Origin &#8216;http:\/\/****&#8217; is therefore not allowed access.<\/strong><\/em>\n<\/p><\/blockquote>\n<p>\u015feklindedir. Bu hatayla ilgili daha \u00f6nceki makalelerimizde domainler aras\u0131 bir g\u00fcvenlik meselesi oldu\u011funa dair de\u011ferlendirmede bulunmu\u015ftuk.<br \/>\nDolay\u0131s\u0131yla bu hatadan kurtulabilmek i\u00e7in &#8220;Microsoft.AspNet.WebApi.Cors&#8221; k\u00fct\u00fcphanesini projemize entegre ederek &#8220;WebApiConfig&#8221; dosyas\u0131 i\u00e7erisinde a\u015fa\u011f\u0131daki \u00e7al\u0131\u015fmay\u0131 icra etmemiz gerekmektedir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public static class WebApiConfig\r\n    {\r\n        public static void Register(HttpConfiguration config)\r\n        {\r\n            var enableCorsAttribute = new EnableCorsAttribute(&quot;*&quot;,\r\n                                                &quot;Origin, Content-Type, Accept&quot;,\r\n                                                &quot;GET, PUT, POST, DELETE, OPTIONS&quot;);\r\n            config.EnableCors(enableCorsAttribute);\r\n\r\n            config.MapHttpAttributeRoutes();\r\n            config.Routes.MapHttpRoute(\r\n                name: &quot;DefaultApi&quot;,\r\n                routeTemplate: &quot;api\/{controller}\/{action}\/{id}&quot;,\r\n                defaults: new { id = RouteParameter.Optional }\r\n            );\r\n        }\r\n    }\r\n<\/pre>\n<p>Bu i\u015flemden sonra yapm\u0131\u015f oldu\u011fumuz \u00e7al\u0131\u015fmay\u0131 tekrar \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda sorunsuz bir \u015fekilde web api ile ba\u011flant\u0131 kurulup, tetiklendi\u011fini g\u00f6rece\u011fiz.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar dilerim&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bu i\u00e7eri\u011fimizde Ajax mimarisi ile Web API&#8217;lerin nas\u0131l tetiklendi\u011fini inceleyece\u011fiz. Elimizde a\u015fa\u011f\u0131daki gibi bir web api oldu\u011funu d\u00fc\u015f\u00fcnelim. public class PersonelController : ApiController { NorthwindEntities db = new NorthwindEntities(); public List&lt;Personel&gt; GetAll() =&gt;&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":3014,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,2402],"tags":[2427,2428,2399,2429,2426],"class_list":["post-8459","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ajax","category-web-api","tag-ajax-ile-web-api-tetikleme","tag-ajax-web-api","tag-web-api","tag-web-api-ajax","tag-webapiconfig"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=8459"}],"version-history":[{"count":4,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8459\/revisions"}],"predecessor-version":[{"id":8464,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8459\/revisions\/8464"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3014"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=8459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=8459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=8459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}