Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.06.2013, 21:39
Интересующийся
Отправить личное сообщение для boichukvd Посмотреть профиль Найти все сообщения от boichukvd
 
Регистрация: 11.10.2012
Сообщений: 27

POST не отправляет в firefox
Если не в ту ветку пишу, перенесите. Вот такой код отправляет у опере и гугл хром, а в фаэфокс нет:
function buy (){
$.post( "/buy.php", {first_name: customer.first_name, last_name:customer.last_name, phone:customer.phone, email:customer.email, zip:customer.zip, delivery:delivery, address:address, comment:comment, payment:payment}, on_success);
    	function on_success(data){

        }
}

Ошибка: ReferenceError: on_success is not defined
Из библиотек подключаю:
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js'></script>

Последний раз редактировалось boichukvd, 20.06.2013 в 21:52.
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2013, 23:03
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

сделай тестовый пример, потому что у меня всё работает
Ответить с цитированием
  #3 (permalink)  
Старый 20.06.2013, 23:16
Интересующийся
Отправить личное сообщение для boichukvd Посмотреть профиль Найти все сообщения от boichukvd
 
Регистрация: 11.10.2012
Сообщений: 27

та я не умею этого делать, как это сделать
Ответить с цитированием
  #4 (permalink)  
Старый 20.06.2013, 23:24
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

(function buy (){
	$.post( "some.php", {my_param: "my_value"}, on_success);
	function on_success(data){
		console.log(data)
	}
})()

some.php
<?php
echo $_POST["my_param"];
?>

смотри в консоль, пришло или нет
Ответить с цитированием
  #5 (permalink)  
Старый 21.06.2013, 00:33
Интересующийся
Отправить личное сообщение для boichukvd Посмотреть профиль Найти все сообщения от boichukvd
 
Регистрация: 11.10.2012
Сообщений: 27

пришло my_value
Ответить с цитированием
  #6 (permalink)  
Старый 21.06.2013, 00:39
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от boichukvd
пришло my_value
а говоришь не работает
Ответить с цитированием
  #7 (permalink)  
Старый 21.06.2013, 00:43
Интересующийся
Отправить личное сообщение для boichukvd Посмотреть профиль Найти все сообщения от boichukvd
 
Регистрация: 11.10.2012
Сообщений: 27

ну вказывает на эту строку, может не в этом дело.
Только не бейте сильно, я начинающий
Вот весь код:
var error='', valid = ['first_name', 'last_name', 'phone', 'email', 'zip'];

    var customer = {};
    for (i=0; i<valid.length; i++) { 
        var err = validate(valid[i]);
        if (err === false) error = false;
        customer[valid[i]] = err;
    }
   
    if (error !== false){
        var delivery = document.getElementById("delInner").innerHTML;
        var payment = document.getElementById("payInner").innerHTML;
        var address = document.getElementsByName('address')[0].value;
        var comment = document.getElementsByName('comment')[0].value;

        $.post( "/buy.php", {first_name: customer.first_name, last_name:customer.last_name, phone:customer.phone, email:customer.email, zip:customer.zip, delivery:delivery, address:address, comment:comment, payment:payment}, on_success);
    	function on_success(data){
            if(data){
                var display = data.split('=');
                var opt = display[1].split(',');
                $('#innerBuy').html("<div id='load'><div style='text-align: center;'><img src='/img/loading2.gif' width='48' height='48'></div><br><p><strong>ВАШ ЗАКАЗ ОБРАБАТЫВАЕТСЯ...</strong></p></div>").show();
                
                function display_success() {
                    if (display[0] =='good') {
                        $("html, body").animate({ scrollTop: 0 }, "slow");
                        $('#main').html('<div style="width: 280px; margin: 0 auto; height:500px"><p style="font-size:30px; margin: 0 auto; border-bottom: 3px solid gray;">ВАШ ЗАКАЗ №<b>'+opt[0]+'</b></p><br><p>На сумму: '+opt[1]+' грн</p></div>').show();
                        var basket = get_cookie("basket"); // читаем значение cookie
                        var bas_s = basket.split(',');
                                
                        for (i=0; i<bas_s.length; i++) {
                            delete_cookie (bas_s[i]);
                        }
                        delete_cookie ('basket');
                    }
                    else {
                        for (i=0; i<opt.length; i++) {
                            $("#"+opt[0]+" div").animate({ scrollTop: 0 }, "slow");
                            $("#"+opt[i]+" div").html('<p class="last">Тут была ошибка!</p>').show();
                            document.getElementsByName(opt[i])[0].value='';
                            $('#innerBuy').html('<div class="buy" onclick="buy()">КУПИТЬ</div>').show();
                        }
                    }
                }
        		setTimeout(display_success, 3000);
            }
            else {
                $("html, body").animate({ scrollTop: 0 }, "slow");
                $("#error").html('<p style="color:red; font-size:1.5em;">Произошла ошибка!</p><br><p style="color:green;">Проверте данные и повторите попытку</p><br>').show();
            }
        }
    }
Ответить с цитированием
  #8 (permalink)  
Старый 21.06.2013, 16:15
Интересующийся
Отправить личное сообщение для boichukvd Посмотреть профиль Найти все сообщения от boichukvd
 
Регистрация: 11.10.2012
Сообщений: 27

Что никто не подскажет, может способ несложный другой есть отправки POSTom?
Ответить с цитированием
  #9 (permalink)  
Старый 21.06.2013, 19:02
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от boichukvd
Вот весь код:
где весь-то, только скрипт, скобки проверь, сразу видно что с этим не всё в порядке
Сообщение от boichukvd
может способ несложный другой есть отправки POSTom
может и на другой язык сразу перейти
тебе ж показали - работает
может уже начать заниматься отладкой (комментировать блоки и проверять, что работает, что нет и т.п.)
Ответить с цитированием
  #10 (permalink)  
Старый 21.06.2013, 20:25
Интересующийся
Отправить личное сообщение для boichukvd Посмотреть профиль Найти все сообщения от boichukvd
 
Регистрация: 11.10.2012
Сообщений: 27

убираю из скрипта if (error !== false){ - работает, а так не работает только в фаефокс
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX + Firefox некорректное отображение checkbox shu7 Firefox/Mozilla 2 26.06.2015 14:23
JS Drag&Drop для созданного div в FireFox фонарик Общие вопросы Javascript 2 28.02.2013 21:34
Jquery ajax в Operа к ASP.NET скрипту по таймеру, IIS выдает 403.9 Zhirinovsky AJAX и COMET 0 23.02.2012 12:56
тег <audio> в Opera, Chrome, Firefox Magneto Javascript под браузер 12 25.11.2010 15:12
В Firefox 3.5.5 не работает метод POST. Какие методы лечения? javascript_pupil AJAX и COMET 1 10.12.2009 20:34