За последние 24 часа нас посетили 20598 программистов и 1131 робот. Сейчас ищут 677 программистов ...

Насколько технология Ajax универсальна для всех браузеров?

Тема в разделе "JavaScript и AJAX", создана пользователем izumov, 11 июн 2019.

  1. izumov

    izumov Новичок

    С нами с:
    25 апр 2019
    Сообщения:
    35
    Симпатии:
    1
    Изучая технологию я обнаружил что один и тот же код не гарантирует отправку данных пр использовании данной технологии в частности у меня был код
    function DataSend1()
    {
    //var req61=createRequest();
    var kod=document.getElementById('kod').value;
    var login=document.getElementById('login').value;
    var password= document.getElementById('password').value;
    var kod1c=document.getElementById('kod1c').value;
    var regDate=document.getElementById('regDate').value;
    var profit=document.getElementById('profit').value;
    var name=document.getElementById('name').value;
    var INN=document.getElementById('INN').value;
    var e_mail=document.getElementById('e_mail').value;
    var telefon=document.getElementById('telefon').value;
    var telefon1=document.getElementById('telefon1').value;
    var viber=document.getElementById('viber').value;
    var watsup=document.getElementById('watsup').value;
    var region=document.getElementById('region').value;
    var town=document.getElementById('town').value;
    var street=document.getElementById('street').value;
    var house=document.getElementById('house').value;
    var ofice=document.getElementById('ofice').value;
    var FIO=document.getElementById('FIO').value;
    var man_email=document.getElementById('man_email').value;
    var man_tel=document.getElementById('man_tel').value;
    var man_tel1=document.getElementById('man_tel1').value;
    var Comment=document.getElementById('Comment').value;
    var BAD=document.getElementById('BAD').checked;
    var UL=document.getElementById('UL').checked ;
    if(BAD==true){BAD=1;}
    else{BAD=0;}
    if(UL==true){UL=1;}
    else{UL=0;}





    var password=document.getElementById('password').value;

    var data="kod="+kod+"&login="+login+"&password="+password;
    data=data+"&kod1c="+kod1c;
    data=data+"&regDate="+regDate+"&profit="+profit+"&BAD="+BAD+"&UL="+UL;
    data=data+"&name="+name+"&INN="+INN;
    data=data+"&e_mail="+e_mail+"&telefon="+telefon;
    data=data+"&telefon1="+telefon1+"&region="+region+"&viber="+viber+"&watsup="+watsup;
    data=data+"&town="+town+"&street="+street;
    data=data+"&house="+house+"&ofice="+ofice+"&FIO="+FIO;
    data=data+"&man_email="+man_email+"&man_tel="+man_tel;
    data=data+"&man_tel1="+man_tel1+"&Comment="+Comment;
    document.getElementById('UL').checked=false;
    document.getElementById('BAD').checked=false;
    //alert('отправляются данные :'+data);
    $.ajax({
    type: "POST",
    url: "proba61.php",
    data: data,
    success: function(msg){
    alert( "Данные успешно сохранены: " + msg );
    }
    });
    document.location.href="clients.php";

    }
    Данный код прекрасно работал в Googl Chrome. А вОТ в Mozilla Firefox и Яндексе Передача происходила хаотическим образом то идет то нет. Никакой закономерности мне выявить не удалось.В чем может быть причина такого поведения?КАк применять технологию чтобы передача данных гарантировалась при исполнении кода на любом браузере?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    должен понимать что ты скрестил обвертку с чистым js. Место того чтобы разобраться, начинаешь заливать пустые факты.

    Это будет аналогично если я тебя попрошу:
    создай мне обычную форму регистрации логин, емайл, пароль и сам скрипт по обработке данных. НО САМ скрипт чтобы полностью, детально и современно разбирал входящие данные, иначе красиво кодом выводил ошибки. Напишешь тривиальный скриптик мне, напишу красивый пример твоего случая.
     
    #2 MouseZver, 11 июн 2019
    Последнее редактирование: 11 июн 2019
  3. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    не проще ли всем этим id добавить один какой нибудь класс???? например назвать его 'post'
    вместо:
    Код (Javascript):
    1. var kod=document.getElementById('kod').value;
    2. var login=document.getElementById('login').value;
    3. var password= document.getElementById('password').value;
    4. var kod1c=document.getElementById('kod1c').value;
    5. var regDate=document.getElementById('regDate').value;
    6. var profit=document.getElementById('profit').value;
    7. var name=document.getElementById('name').value;
    8. var INN=document.getElementById('INN').value;
    9. var e_mail=document.getElementById('e_mail').value;
    10. var telefon=document.getElementById('telefon').value;
    11. var telefon1=document.getElementById('telefon1').value;
    12. var viber=document.getElementById('viber').value;
    13. var watsup=document.getElementById('watsup').value;
    14. var region=document.getElementById('region').value;
    15. var town=document.getElementById('town').value;
    16. var street=document.getElementById('street').value;
    17. var house=document.getElementById('house').value;
    18. var ofice=document.getElementById('ofice').value;
    19. var FIO=document.getElementById('FIO').value;
    20. var man_email=document.getElementById('man_email').value;
    21. var man_tel=document.getElementById('man_tel').value;
    22. var man_tel1=document.getElementById('man_tel1').value;
    23. var Comment=document.getElementById('Comment').value;
    написать пару строк:
    Код (Javascript):
    1. var post = document.getElementsByClassName('post');
    2. [].forEach.call(post, function(item) {
    3.      console.log(item.value);
    4. });
     
    TeslaFeo нравится это.
  4. izumov

    izumov Новичок

    С нами с:
    25 апр 2019
    Сообщения:
    35
    Симпатии:
    1
    И все таки как звучал вопрос?Спасибо за подскази и тому подобноеное,но на данный момент меня интересует конкретная вещь о которой я и спросил.
     
    #4 izumov, 11 июн 2019
    Последнее редактирование: 11 июн 2019
  5. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    в современных браузерах нормально написанный код работает одинаково
    а то что у тебя какая то магия там происходит - это надо разбираться с самой веб страничкой
    каждый маг должен сам овладеть стихией :)

    + присоединяюсь к высказыванию о том, что много лишнего кода, но это с опытом придёт
     
  6. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Проще говоря так как ты написал, не делается. На кой черт тебе эта строка?
    Код (Javascript):
    1. alert( "Данные успешно сохранены: " + msg );
    А если не успешно?.Проверок ты никаких не делаешь.

    Напиши так, но весь код фигня, вот ответ на твой конкретный вопрос:
    Код (Javascript):
    1. $.ajax({
    2.    type: "POST",
    3.    url: "proba61.php",
    4.    data: data,
    5.    success: function(){
    6.        document.location.href="clients.php";
    7.    }
    8. });
     
  7. izumov

    izumov Новичок

    С нами с:
    25 апр 2019
    Сообщения:
    35
    Симпатии:
    1
    поясните в чем тут ответ? для меня не очевидно
     
  8. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Делать переход после ответа от сервера, убрать алерт который стопает скрипт.
    было:
    Код (Javascript):
    1. $.ajax({
    2. type: "POST",
    3. url: "proba61.php",
    4. data: data,
    5. success: function(msg){
    6. alert( "Данные успешно сохранены: " + msg );
    7. }
    8. });
    9. document.location.href="clients.php";
    стало:
    Код (Javascript):
    1. $.ajax({
    2.    type: "POST",
    3.    url: "proba61.php",
    4.    data: data,
    5.    success: function(){
    6.        document.location.href="clients.php";
    7.    }
    8. });
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    @Artur_hopf, да причем тут это ??

    он хочет узнать что лучше на русских дорогах хендай или бугати..
    --- Добавлено ---
    руки купить, технология не причем. js - фундамент / ajax - обвертка