jquery ajax数据类型json不能使用php关联数组

时间:2014-09-23 12:44:44

标签: php jquery html ajax json

我是stackflow的新手,在使用jquery时遇到了一些问题' json ajax编码来自关联数组的值,jquery脚本什么都不做!

它是一个只做任何事情的脚本,但通过json编码返回给你的用户名和密码......

这是我的index.html文件的代码:

<html>
<head>
    <title>test jquery</title>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {

        $("#button").click(function() {

            var sendu = $("#username").val();
            var sendp = $("#password").val();

            $.ajax({
                type: "POST",
                url: "ajax.php",
                data: "username="+sendu+"&password="+sendp,
                dataType: "json",
                success: function(msg,string,jqXHR){
                    $("#result").html(msg.name);
                }

            });         

        });

    });


    </script>

</head>
<body>

    Name: <input type="text" id="username" name=""username /> <br />
    Password: <input type="password" id="password" name="password" /><br />

    <input type="button" value="send" id="button" />
    <div id="result"></div></p>

</body>
</html>

这是php文件:

<?php 

$name = $_REQUEST['username'];
$password = $_REQUEST['password'];

$a = array('name'=>$name, 'password'=>$password);

$c = json_encode($list);

echo $c;


 ?>

所以当我删除dataType时:&#34; json&#34;当我从php文件中删除关联数组时,一切顺利,它有效!

这是删除json编码之后:

html:

<script type="text/javascript">
$(document).ready(function() {

    $("#button").click(function() {

        var sendu = $("#username").val();
        var sendp = $("#password").val();

        $.ajax({
            type: "POST",
            url: "ajax.php",
            data: "username="+sendu+"&password="+sendp,

            success: function(msg,string,jqXHR){
                $("#result").html(msg);
            }

        });         

    });

});


</script>

和php文件:

<?php 

$name = $_REQUEST['username'];
$password = $_REQUEST['password'];


$c = "your name is ".$name."<br />and your password is ".$password;

echo $c;


 ?>

还有一件事,我不是英国人,所以如果你发现任何常见的语法错误,请忽略!

1 个答案:

答案 0 :(得分:1)

我注意到的一件事是你的AJAX调用中的这一行应该是:

data: "username="+sendu+"&password="+sendp,

应该是:

data: {username: sendu, password: sendp}

这样,您可以在使用dataType:JSON

时访问变量