PHP不会返回响应

时间:2011-11-30 08:52:41

标签: php jquery ajax

这可能是一些非常基本的东西,但我已经有一段时间了,而且它并没有向我跳出来,我想我已经累了......请帮忙。

我正在尝试创建一个简单的登录html页面,使用jquery / ajax读取它并让php验证它。这里有2件javascript / jquery和php。虽然firebug似乎正确报告“消息”正在设置,但没有任何回复作为响应......我做错了什么?如果php确实报告错误,我在哪里寻找它?


login.js

$(document).ready(function(){  
    $('#loginForm').submit(function(){  
        var usern=$('#username').val();  
        var pword=$('#password').val();  
       $.ajax({  
            url: 'mylogin.php',  
            data: 'action=login&usern='+usern+'&pword='+pword,  
            dataType: 'json',  
            type: 'post',  
            success: function (j) {  
                $('#loginmessage').html(j.msg);  
            },  
       });  
    });  
});`    

mylogin.php

<?php   
    $username=$_POST['username'];  
    $password=$_POST['password'];  
    $retval['msg']="in mylogin.php";  
    fb($retval,"return output from login");  
    echo json_encode($retval);  
?>

3 个答案:

答案 0 :(得分:8)

很简单,您将用户名usern和密码pword

发布

所以它应该是

<?php   
    $username=$_POST['usern'];  
    $password=$_POST['pword'];  

答案 1 :(得分:2)

您使用usernpword设置帖子变量,然后尝试使用usernamepassword

来访问这些变量

答案 2 :(得分:1)

当您在jquery帖子中将变量名称作为usern和pword传递时,您在PHP代码中使用用户名和密码作为帖子变量名称。

应该看起来像

<?php   
    $username=$_POST['usern'];  
    $password=$_POST['pword'];
?>

在传递变量以使用标准命名约定时,这很重要,它将有助于减少发生这些问题的可能性。