web apiden jquery ajax reguest ile çağırılan jsonresult sırasında "jquery.blockui" kullanarak "lütfen bekleyiniz" tarzında modal popup kullanımı. Ekran görüntüleri ve kodlar;
KODLAR :
HTML TARAFI :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>web api test-- </title>
<style>
div.growlUI {
background: url(images/tick_green.png) no-repeat 5px 5px
}
div.growlUI h1, div.growlUI h2 {
color: white;
padding: 5px 5px 5px 75px;
text-align: left
}
</style>
<script src="Scripts/jquery-3.2.1.min.js"></script>
<script src="Security/config.js"></script>
<script src="Scripts/jquery.blockUI.js"></script>
</head>
<body>
<div>
<p>
<a href="ProductsListFromApi.html">Api den listele</a>
</p>
<p>
<a href="sifreliindex.html">şifrelenmiş index sayfası</a>
</p>
<ul id="products" />
</div>
<div>
<h2>Search by ID</h2>
<input type="text" id="prodId" size="5" />
<input type="button" id="btnARA" value="Search" />
<!--onclick="find();"-->
<p id="PghProduct" />
</div>
<script>
var uri = 'api/Products';
function formatItem(item) {
return "Ürün Adı : " + item.ProductName + " -- Ürün ID : " + item.ProductID ;
}
function find() {
var id = $('#prodId').val();
$.ajaxSetup({
headers: {
'Api_key': config.Api_Key ,
}
});
$.getJSON(uri + '/' + id)
.done(function (data) {
$('#PghProduct').text(formatItem(data));
})
.fail(function (jqXHR, textStatus, err) {
$('#PghProduct').html('Error: ' + err + "</br>" + new Date().toLocaleString());
});
//...............
//TODO: aşağısı, fonksiyon bazında unblock.
$.unblockUI();
//...............
}
</script>
<script type="text/javascript">
$("#prodId").on('keydown', function (e) {
if (e.which == 13) {
find();
}
});
</script>
<script type="text/javascript">
$(document).ready(function () {
//TODO:aşağısı,sayfadaki herhangi bir ajax request bittiğinde kapatır(ajaxStop).
//$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
//TODO:aşağısı, bit butona tıklandığında css vererek başlatıyor
//TODO: css vermeden: $.blockUI();
//TODO: mesaj vererek:$.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' });
//TODO: basit css:$.blockUI({ css: { backgroundColor: '#f00', color: '#fff'} });
//TODO: standart lütfen bekleyiniz mesajını,jquery.blockUI.js içinden de direkt değiştirilebilir................
$('#btnARA').click(function () {
$.blockUI({
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
}
});
//...............
//setTimeout($.unblockUI, 500);//TODO:bu süre ayarlı kapanır.
//...............
find();
//...............
});
});
//...............
$.growlUI('Merhaba sayın kullanıcı..', 'Hoş geldiniz!');
//...............
</script>
</body >
</html >
KODLAR :
WEB API CONTROLLER :
// GET: api/Products/5
[ResponseType(typeof(Products))]
public async Task<IHttpActionResult> GetProduct(int id)
{
var product = await (from u in db.Products
where u.ProductID == id
select new
{
u.ProductID
,u.ProductName
,u.UnitPrice
,u.SupplierID
,u.CategoryID
,u.QuantityPerUnit
,u.UnitsInStock
,u.UnitsOnOrder
,u.ReorderLevel
,u.Discontinued
,u.Categories.CategoryName
,u.Categories.Picture
}).FirstOrDefaultAsync();
if (product == null)
{
return NotFound();
}
return Ok(product);
}
KODLAR :
HTML TARAFI :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>web api test-- </title>
<style>
div.growlUI {
background: url(images/tick_green.png) no-repeat 5px 5px
}
div.growlUI h1, div.growlUI h2 {
color: white;
padding: 5px 5px 5px 75px;
text-align: left
}
</style>
<script src="Scripts/jquery-3.2.1.min.js"></script>
<script src="Security/config.js"></script>
<script src="Scripts/jquery.blockUI.js"></script>
</head>
<body>
<div>
<p>
<a href="ProductsListFromApi.html">Api den listele</a>
</p>
<p>
<a href="sifreliindex.html">şifrelenmiş index sayfası</a>
</p>
<ul id="products" />
</div>
<div>
<h2>Search by ID</h2>
<input type="text" id="prodId" size="5" />
<input type="button" id="btnARA" value="Search" />
<!--onclick="find();"-->
<p id="PghProduct" />
</div>
<script>
var uri = 'api/Products';
function formatItem(item) {
return "Ürün Adı : " + item.ProductName + " -- Ürün ID : " + item.ProductID ;
}
function find() {
var id = $('#prodId').val();
$.ajaxSetup({
headers: {
'Api_key': config.Api_Key ,
}
});
$.getJSON(uri + '/' + id)
.done(function (data) {
$('#PghProduct').text(formatItem(data));
})
.fail(function (jqXHR, textStatus, err) {
$('#PghProduct').html('Error: ' + err + "</br>" + new Date().toLocaleString());
});
//...............
//TODO: aşağısı, fonksiyon bazında unblock.
$.unblockUI();
//...............
}
</script>
<script type="text/javascript">
$("#prodId").on('keydown', function (e) {
if (e.which == 13) {
find();
}
});
</script>
<script type="text/javascript">
$(document).ready(function () {
//TODO:aşağısı,sayfadaki herhangi bir ajax request bittiğinde kapatır(ajaxStop).
//$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
//TODO:aşağısı, bit butona tıklandığında css vererek başlatıyor
//TODO: css vermeden: $.blockUI();
//TODO: mesaj vererek:$.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' });
//TODO: basit css:$.blockUI({ css: { backgroundColor: '#f00', color: '#fff'} });
//TODO: standart lütfen bekleyiniz mesajını,jquery.blockUI.js içinden de direkt değiştirilebilir................
$('#btnARA').click(function () {
$.blockUI({
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
}
});
//...............
//setTimeout($.unblockUI, 500);//TODO:bu süre ayarlı kapanır.
//...............
find();
//...............
});
});
//...............
$.growlUI('Merhaba sayın kullanıcı..', 'Hoş geldiniz!');
//...............
</script>
</body >
</html >
KODLAR :
WEB API CONTROLLER :
// GET: api/Products/5
[ResponseType(typeof(Products))]
public async Task<IHttpActionResult> GetProduct(int id)
{
var product = await (from u in db.Products
where u.ProductID == id
select new
{
u.ProductID
,u.ProductName
,u.UnitPrice
,u.SupplierID
,u.CategoryID
,u.QuantityPerUnit
,u.UnitsInStock
,u.UnitsOnOrder
,u.ReorderLevel
,u.Discontinued
,u.Categories.CategoryName
,u.Categories.Picture
}).FirstOrDefaultAsync();
if (product == null)
{
return NotFound();
}
return Ok(product);
}
Yorumlar
Yorum Gönder