main.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. console.clear();
  2. var apiUrl = 'http://helloworld.filonitta.fe.a-level.com.ua:10011/api/v1';
  3. var service = new HttpService(apiUrl);
  4. var selectors = { //переменные
  5. studentsList: $('#students-list'),
  6. formUpdate: $('#form-update'),
  7. btnUpdate: $('#btn-update')
  8. };
  9. console.log(service);
  10. service.getAllStudents().done(response => {
  11. response.forEach(students => {
  12. $('<a>')
  13. .addClass('list-group-item')
  14. .attr('href','#')
  15. .attr('data-id', students.id)
  16. .text(`${students.lastname} ${students.firstname}`)
  17. .appendTo(selectors.studentsList)
  18. });
  19. console.log(response);
  20. }).fail(error => {});
  21. $(selectors.studentsList).on('click', '[data-id]', function(event) {
  22. event.preventDefault();
  23. var studentId = $(this).data('id');
  24. console.log(studentId);
  25. service.getStudentById(studentId).done(response => {
  26. for (let key in response) {
  27. selectors.formUpdate.find(`[name=${key}]`).val(response[key]); //zapolnit vse polya zna4eniyami s servera
  28. }
  29. })
  30. } );
  31. selectors.formUpdate.on('submit', function(event) {
  32. event.preventDefault();
  33. $('.has-error', this).removeClass('has-error');
  34. var studentId = $(this).find('[name=id]').val();
  35. service.updateStudentsById(studentId, $(this).serialize()).done(response => {
  36. console.log(response);
  37. selectors.studentsList.find(`[data-id=${studentId}]`)
  38. .text(`${response.lastname} ${response.firstname}`);
  39. }).fail(response => {
  40. var response = response.responseJSON;
  41. var errors = response.errors;
  42. for (let value of errors) {
  43. selectors.formUpdate.find(`[name=${value.field}]`).parent().addClass('has-error');
  44. }
  45. console.log( response );
  46. }) ; //fail - otlovit owibky
  47. });