2013-09-11 2 views
0

В чем проблема с этим кодом? это меню и страница изменения по AJAX с вне обновления страницы, но ее не работает это мой Аякса кодподключение ajax и php не работает

<script> 
     $(document).ready(function() { 
      $('.news').click(function give(id){ 
       $('#main-unit').text('Please Wait...'); 
        var place= id; 
        $.ajax({ 
         url:'pages/news.php', 
         type:'POST', 
         data:'where='+place, 
         statusCode:{ 
          success: function(data){ 
           $('#main-unit').html(data); 
          } 
         } 
        }); 
      }); 
     }); 
    </script> 

это мой HTML-теги

<ul> 
    <li><a class="news" onclick=\"give('news')\" href="#">news</a></li> 
</ul> 

и код PHP

mysql_connect("localhost", "root", "") 
    or die(mysql_error()); 
    mysql_select_db("basi") 
    or die(mysql_error()); 
    if($_POST['where']=='news'){ 
     $result = mysql_query("SELECT * FROM contents WHERE type = 0"); 
     while ($row = mysql_fetch_array($result)){ 
      $title = $row['title']; 
      $text = $row['text']; 
      echo" 
      <div class='title'><span>$title</span></div> 
      <div class='content'> 
      $text 
      </div> 
      "; 
     } 
    } 

информация, считываемая из базы данных, но не возвращающаяся в html-файл.

+0

Что говорит консоль? – Sergio

+0

ничего, он показывает только «пожалуйста, подождите ...» [$ ('# main-unit'). Text ('Please Wait ...');] затем ничего не отображается – sepehr2121

+0

Я имею в виду консоль для отладки, ту, которую вы получить, нажав F12 в браузере. – Sergio

ответ

1

Проблема с вашим JavaScript. Вы ожидаете, что документ будет готов и (неправильно) привязан к прослушивателю событий клика, который не используется! Попробуйте:

<a class="news" onclick="give('news')" href="#">news</a> 

с JavaScript:

<script> 
    function give(id) { 
     $('#main-unit').text('Please Wait...'); 
     var place = id; 
     $.ajax({ 
      url:'pages/news.php', 
      type:'POST', 
      data:'where='+place, 
      statusCode:{ 
       success: function(data){ 
        $('#main-unit').html(data); 
       } 
      } 
     }); 
    } 
</script> 

Лучшим решением было бы отделить HTML от JavaScript - удалить атрибут OnClick из вашей ссылки меню, и использовать чистый JQuery, чтобы выбрать его и связать событие, которое вызывает call() при нажатии:

$(document).ready(function() { 
    $('.news').click(function(e) { 
     give('news'); 
    }); 
}); 
0

FTFY

<script> 
     $(document).ready(function() { 
      $('.news').click(function give(id){ 
       $('#main-unit').text('Please Wait...'); 
        var place= id; 
        $.ajax({ 
         url:'pages/news.php', 
         type:'POST', 
         data:'where='+place, 
         //I believe your mistake was here 
         success: function(data){ 
           $('#main-unit').html(data); 
         } 
        }); 
      }); 
     }); 
    </script> 
+0

не работает !! – sepehr2121

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