ajax调用没有返回$ post

时间:2013-02-27 20:54:24

标签: jquery

这是我的代码:

<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>

在我需要的文件头中?

2 个答案:

答案 0 :(得分:0)

我会做像

这样的事情
<?php
$stack = array();
$stack['info']='test';
echo json_encode($stack);    
?>

而不是$ .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();

答案 1 :(得分:0)

我认为问题在于你没有阻止回发。

尝试这样做:

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

向函数添加参数并调用preventDefault()方法。