Ajax Post PHP Div Обновление - PullRequest
       2

Ajax Post PHP Div Обновление

0 голосов
/ 25 июля 2011

Это снова я.Я так разочарован этим кодом, что это даже не смешно.Дело не в том, что я хочу опубликовать это снова.Просто теперь я понимаю, в чем проблема в коде, и хотел узнать, можете ли вы, ребята, помочь мне разобраться с последней частью.

По сути, я пытаюсь обновить div без перезагрузки всей страницы.,Это убивает меня.Вот еще немного информации об этом:

здесь сначала находится мой js-файл

    $(function() { 

   $(".button").click(function() { 
  // validate and process form 
     // first hide any error messages  
         var email = $("input#email").val();   
         //var dataString = '&email=' + email; commented out    
           var dataString = email;
            //try insted this    //alert (dataString);return false;  
              $.ajax({  type: "POST",  dataType:'HTML', 
              //or the appropiate type of data you are getting back 
               url: "http://www.edshaer.com/EdinburgCISD/Gorena/Gorena.php", data: {email:dataString},

                //in the php file do $email = $_POST['email']; 



                  //not a good practice but you can try with it and without it 
                   success: function() {  


                $("#div").fadeOut($("#div").html());

                   $("#div").fadeIn($("#div").html());
                       $("#email").val('');  

                   // Change the content of the message element    

                      // Fade the element back in 
                         }    });
                            //ajax ends 
                                         return false; });
                                         //click ends   
                                          });//document ready ends

Теперь проблема, с которой я сталкиваюсь с этим кодом, связана с Ajax.После размещения оповещения () я изменил, что если я использую функцию () следующим образом:

success: function(data)

Тогда оповещение выйдет пустым.Причина этого в том, что мой URL идет в мой php-файл, но мой div, который я пытаюсь обновить, находится в моем html-файле.То есть, если я сделаю это:

 success: function(data) {  
                $("#div").html(data)}

Я отправляю пустые данные, потому что он пытается получить div из моего php-файла вместо моего html-файла.

Теперь, если я сделаю это:

    $("#div").html()

Тогда это дает мне div, который находится в моем html-файле.

Зная, что происходит сейчас, вы, ребята, можете, пожалуйста, помочь мне ???

Ответы [ 3 ]

0 голосов
/ 26 июля 2011

Вы используете

$("#div").fadeOut($("#div").html());
$("#div").fadeIn($("#div").html());

Оба неверны, jQuery .fadeIn() и .fadeOut() аргументы либо [duration,] [обратный вызов]или [длительность] [ослабление] [обратный вызов].Ни один не принимает HTML в качестве ввода.

Попробуйте изменить

$("#div").fadeOut($("#div").html());

на

$("#div").fadeOut();

и переместить его за пределы вызова $ .ajax, чтобы скрыть ранее показанный (если есть)) результаты до публикации, а также изменить

$("#div").fadeIn($("#div").html());

на

$("#div").html(result).fadeIn();

Также изменить

success: function()

на

success: function(result)

Надеюсь этопомогает.

0 голосов
/ 26 октября 2013

Это может быть проблемой, связанной с ответом скрипта php. Jquery не всегда правильно отображает ответ Ajax как HTML.

Установка dataType: html в вызове $.ajax({ ... }) может помочь. Также установите header("Content-Type: text/html"); в верхней части вашего php ajax-скрипта.

0 голосов
/ 25 июля 2011

Мой дорогой, вы должны генерировать в своем php-файле некий html, который вы хотите создать в своем div. Тогда вы увидите, что у вас есть контент в data в функции успеха. Это легкий подход. Но есть и другой подход, который более эффективен, но требует некоторого поиска. Это реализация сценариев на стороне клиента . Вы можете сделать это с помощью плагина jquery jquote2 . Я надеюсь, что это сработает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...