با سلام
من یه خروجی جیسون رشته ای بصورت:"[ { h: 'در ثانیه', a: 10, b: 20, c:30,d:40,e:50 }]" دارم که میخوام هیمن به دیتا در جی کوئری اضافه شود اما نمیگیرد مقدار را وقتی تابع را کال میزنم
Morris.Bar({ element: 'bar-chart', data: graph() , //[ { h: 'در ثانیه', a: 100, b: 90, c:80,d:120,e:240 }], xkey: 'h', ykeys: ['a','b', 'c','d','e',"f"], labels: ['صف شارژ', 'صف قبض', 'صف خرید', 'صف اصلاحیه', 'صف تأییدیه'], hideHover: 'auto', barColors: [themeprimary, themesecondary, themethirdcolor, themefourthcolor, themefifthcolor] }); function graph() { var data = ""; $.ajax({ type: 'Get', url: 'Home/GetQuejaJsonResult', dataType: 'json', contentType: "application/json; charset=utf-8", data: {}, success: function (result) { data = result; alert(data); }, error: function (xhr, status, error) { alert(error); } });
کنسول مرورگر را بررسی کنید اگر خطا دارد متن آن را قرار دهید
TypeError: row is undefined[Learn More] morris.js:1485:7
اروری که میده این است در حالیکه من دیتا استاتیک میزارم کار میکند بعد یه موضوع دیگه وقتی تو دیباگر بروزرم برک پوینت میزارم واسه یه لحظه در حین دیباگ خروجی نمایش میده اما زود میپره
و یه مووضوع دیگه اینکه من قبل از return data توی $.ajax آلرت خالی گذاشتم خروجی ام را نمایش میده
function graph() { var data = ""; $.ajax({ type: 'Get', url: 'Home/GetQuejaJsonResult', data: {}, dataType: 'json', success: function (result) { data = result; console.log(data); }, error: function (xhr, status, error) { alert(error); } }); alert(); return data; }
سمت کنترلر و اکشن بررسی کنید خروجی صحیح تولید و return بشه
دیتا رو درست برمیگرداند اما روی چارت نمایش نمیدهد مگر اینکه قبل دیتا آلرت بزارم ، اگه آلرت بزارم دیتارو نمایش میده
مشکل شاید از اسکریپت های چارت باشه
متاسفانه نمیشه حدس زد
باید debug کنید تا مشکل رو پیدا کنید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)