2013-05-06 2 views
0

У меня есть навигационная система ajax + jquery с $ .ajax, и я пытаюсь сделать второй вызов $ .ajax, чтобы отправить информацию о форме контакта, но, когда я добавляю второй $ .ajax просто перестает работать.

First Call -

function loadPage(url) 
{ 
    url=url.replace('#!',''); 

    $('#loading').css('visibility','visible'); 

    $.ajax({ 
     type: "POST", 
     url: "loader.php", 
     data: 'page='+url, 
     dataType: "html", 
     success: function(msg){ 

      if(parseInt(msg)!=0) 
      { 
       $('#conteudo').html(msg); 
       $('#loading').css('visibility','hidden'); 
      } 
     } 

    }); 

} 

Второй вызов

$("#enviar").click(function() { 

    var str = $("form").serializeArray(); 

    $.ajax({ 
     type: "POST", 
     url: "update.php", 
     data: str, 
     success: function(mn) { 

      if(parseInt(mn)!=0) 
      { 

      $("#conteudo").html(mn); 
      $("#enviado").css('visibility','visible'); 

      } 

    } 

    return false; 

}); 

@EDIT

Очень хорошо! Первый аякс больше не застревает, но эта секунда не работает должным образом.

Это предназначено для анализа $ _POST значения в PHP-скрипт, и если все в порядке просто повернуть ДИВ видно ..

Как I`m сделать это -

<form name="formcontato" id="form"> 
    <fieldset> 
    <label>Seu nome</label> 
    <input type="text" name="nome" class="input-block-level"> 

    <label>Email</label> 
    <input type="email" name="email" placeholder="[email protected]" class="input-block-level"> 

    <div class="form-actions"> 
    <input type="button" name="enviar" value="Enviar" id="enviar" class="btn btn-baixar" /> 
    </div> 
    </fieldset> 
</form> 

Это форма.

$("#enviar").click(function() { 

    var str = $("#form").serialize(); 

    $.ajax({ 
     type: "POST", 
     url: "update.php", 
     data: str, 
     success: function (mn) { 

      alert("Ok!"); 

      if (parseInt(mn) != 0) { 

       $("#conteudo").html(mn); 
       $("#enviado").css('visibility', 'visible'); 

      } 

     } 

    }); 

    return false; 

}); 

Это является JS

if($_POST) { 

$nome = trim($_POST['nome']); 
echo $nome; 

} 

Это update.php

ответ

1

В то, что вы в курсе, вторая функция не должным образом закрыть функцию $.ajax() с }); так он будет генерировать ошибка синтаксического анализа, и ни один из кода в этом блоке не будет доступен.

Попробуйте это, когда звонок $.ajax() успешно завершен.

$("#enviar").click(function() { 

    var str = $("form").serializeArray(); 

    $.ajax({ 
     type: "POST", 
     url: "update.php", 
     data: str, 
     success: function (mn) { 

      if (parseInt(mn) != 0) { 

       $("#conteudo").html(mn); 
       $("#enviado").css('visibility', 'visible'); 

      } 

     } 

    }); 

    return false; 

}); 

FYI, правильный и последовательный отпечаток необходим для определения этих проблем.

+0

Хорошо! У меня возникла новая проблема, отредактировал вопрос. –

+0

@JordanMiguel - Извините, но я не знаю PHP. StackOverflow предназначен для продолжения редактирования вашего вопроса, чтобы добавить все больше и больше проблем. Это значит, что вы задаете вопрос, мы предоставляем ответ, вы принимаете лучший ответ, который решает этот вопрос. Если после этого у вас появилось больше вопросов, задайте новый вопрос. – jfriend00

+0

@JordanMiguel - Я предлагаю вам поставить точку останова или 'console.log()' в обработчике успеха для второй функции ajax и посмотреть, что это за 'mn'. – jfriend00

Смежные вопросы