2013-02-27 2 views
0

Вот мой код:

<div id="test"></div> 

<form id="form-lecturer-login"> 

    <table> 
     <tbody> 
     <tr> 
      <td> 
       <label class="label">Username : </label><br> 
       <input name="username" value="" type="text"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <label class="label">Password : </label><br> 
       <input name="password" value="" type="text"> 
      </td> 
     </tr> 
    </tbody> 
    </table> 
    <input value="Log In" type="submit"> 
</form> 

<script type="text/javascript"> 
$('#form-lecturer-login').submit(function(){ 
    $.post("../php/lecturer_login.php",$(this).serialize(), 
    function(data){ 
    $('#test').html(data[0]).show(); 
    }, "json"); 
}); 
</script> 

в lecturer_login.php:

<?php 
$stack = array(); 
array_push($stack,"test"); 
echo json_encode($stack);  
?> 

Примечание: Я понимаю, что я передаю данные, которые я не использую. Только для целей тестирования.

'test' div не меняет текст на "test".

Я изучаю это на примере, и я следовал документации jquery. Что мне не хватает? есть ли включает в себя, кроме:

<script type="text/javascript" src="../js/jquery-1.4.2.min.js" ></script> 

в документе голову, что мне нужно?

+3

Вы не мешаете естественной подаче формы, поэтому вы никогда не увидите результат. –

+0

Используйте консоль разработчика Google Chrome и/или Firebug, чтобы получить ответ от вашего вызова AJAX и отправить его здесь. - Также ваш сценарий AJAX нажимает 'lecturer_login.php', но вы ссылаетесь на' lecturer.php' в своем фрагменте кода, поэтому убедитесь, что они совпадают. –

+0

вывод равен null от lecturer_login.php – Kam

ответ

0

Я хотел бы сделать что-то вроде

<?php 
$stack = array(); 
$stack['info']='test'; 
echo json_encode($stack);  
?> 

И InstEd от $ .post Я предпочитаю $ .ajax

 $.ajax({ 
       url:'../php/lecturer_login.php', 
       type:'POST', 
       dataType:'json', 
       success:function (result) { 
        $('#test').html(result.info);//since info is the key of the json maybe the same for $.post 
       } 
     }); 

Я забыл вам нужно

event.preventDefault(); 
0

Я думаю, что проблема что вы не препятствуете обратной передаче.

Попробуйте сделать это:

<script type="text/javascript"> 
$('#form-lecturer-login').submit(function(event){ 
    event.preventDefault(); 
    ... 

Добавить параметр к вашей функции и вызвать метод preventDefault().

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