Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

daredevil avatar daredevil 7 Точки

Може ли малко инфо за JS и Jquery and Ajax

Не съм много на ясно , но от 2-3 лекции се очаква от нас да пишем код и да правим блогове ли не мога да разбера, не знам дали съм само аз , но ми бяга синтаксиса на JS и не знам как да си реша домашните, не знам от къде да взема инфо как да ги наваксам ? Като за начало исках да попитам как да разбера поне как да си дебъгвам , стартирам проектите за да мога да разбера къде греша и резултата от кода? Всъщност този JS изобщо ли не казва къде какви проблеми има с кода ? Пиша на WS EcmaScrypt 6. При стартиране на проекта ми излиза това съобщение и до там : "Process finished with exit code 0" нищо не знам къде ми е проблема и т.н. Това със "Кинви"-то изобщо не мога да го хвана от къде какво се случва и защо се случват нещата всичко ми изглежда много набързо претупано при обясненията ... Може ли някъде из форума да споделяме домашни къде какво как работи и защо (става въпрос за домашните за JS, Ajax, jQuery последните 3)???

Тагове:
0
Fundamentals Module
Jinjaar avatar Jinjaar 348 Точки

Здравей!
Ще се опитам да ти дам малко насоки, надявам се да са ти от полза.
 

Както са казали колегите малко над мен, за да видиш резултата от функцията ти първо трябва да я извикаш.Когато слагаш кода си в Judge , там просто му подаваш цялата функция и Judge си я извиква автоматично.

Относно Debugg  в Web Storm става с node.js и е същото като това да Debugg в Visual Studio слагаш брейк пойнт, пускаш с Debug и здраво напред с F8.

Debugg в конзолата на браузара може да стане по два начина: 
1 Може да отвориш конзолата и също да сложиш брейк пойнт на редът който иска

ш и F10.
2. Може да използваш ключовата дума debugger в кода си - Пример:

'use strict';
function solve(){
     debugger
    console.log("Test");
}

solve();

Ключовата дума debugger играе роля на брейк пойнт в браузара и кода спира точно там.

Относно jQuery - това е библиотека която ни дава по голяма свобода върху маниполирането на DOM елементит.Също така правим нещата с по съкратен синтаксис отколкото с обикновен JavaScript.
Ajax - тук трябва да изпиша 100 реда ако изпадна в подробности, но накратко.С него правим HTTP requests към сървара , като  дърпаме, изпращаме, истриваме и ъпдейтваме информацията. Ето един кратък пример с Kinvey.
 

function solve(){
// this is the body of ajax with jQuery, body have URL ( in this case is your Kinvey BaaS ),
// method : Can be GET,POST,PUT,DELETE
// headers: object where we tell information to server who we are
// data : {} object where we send our data to server on POST,DELETE,PUT requests,
// success : in success function we store data from the server request if ajax request is successful
// error : in error function we handle the error message from server if ajax request fail
$.ajax({
  url: "https://baas.kinvey.com/appdata/kid_WyAfK-tRRg/Books",
  type: "GET",
  dataType: "json",
  headers: {
     "Authorization": "Basic " + btoa(username + ":" + password)
  },
  success : function(data){
     console.log(data)
  }
  error: function(error){
      console.log(error);
  }
        
});

solve();

С този Аjax правим рекуест към Kinvey и му казваме дай ми всичката информация от таблицата Books, ако заявката мине успешно, влизаме в функцията success и принтираме на конзолата обекта който ни е върнал сървара ( всички книги ), ако не влизмае в еrror и печатаме грешката която е възникнала при заявката.
Попринцип не ползваме success точно по този начин, защото така ограничаваме информацията в тялото на ajax-a.Използват се промиси , незнам дали са ви говори за тях в лекцийте.Тъй като ajax е като асинхроното програмиране ние незнаем кога резултата от заявката ще пристигне при нас, може да е след 1 ,2 ,3 200 секунди, затова използваме промиси с което си гарантираме че информацията ни ще пристигне и чак тогава ще я обработваме.Пример:
 

function solve(){
$.ajax({
  url: "https://baas.kinvey.com/appdata/kid_WyAfK-tRRg/Books",
  type: "GET",
  dataType: "json",
  headers: {
     "Authorization": "Basic " + btoa(username + ":" + password)
  },
  error: function(error){
      console.log(error);
  }
        
}).then(function success(data){
   console.log(data)
});

solve();

Това е примера с промис с който си гарантираме че информацията ще пристигне при нас и ще се запише в data.След тялото на ajax, му казваме .then(function success(data){

и тук обработваме информацията

});

Изпаднах в подробности но надявам се да ви е било полезно.
Поздрави!

4
daredevil avatar daredevil 7 Точки

Мерси , чета всичко и се опитвам да разбера какво се случва, но на мен ми се струва , че започнахме да пишем думи без да знаем кое е "а,б,в" в този момент или нещо на мен ми липства и се чудя от къде и как да го наваксам . Свикнал съм с .NET там нещата са подредени и ясни, а тук не гърми и не работи ... 

 

Някакво ръководство книга като тази за C# нещо поне бегло подобие някъде има ли не можах да намеря из интернет всичко е хаотично което намерих ? 

0
Jinjaar avatar Jinjaar 348 Точки

Разбирам те напълно. Като цяло от вас се иска просто да минете през материята без да задълбавате.Нормално е да не разбирате повече от нещата, защото не е лесна материя.
Препоръчвам ви да минете набързо през Code Academy където се започва от това какво е стринг, масив, цикъл и т.н... чрез прости задачки които са много добре обяснени, така ще свикнете със синтаксиса. https://www.codecademy.com/learn/javascript

Аз лично научих синтаксиса от тук и доста ми помогна за основите в JS.
 

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.