Ajax没有发送请求

时间:2015-04-05 18:01:24

标签: jquery ajax

我已经在这个简单的问题上苦苦挣扎了很长时间,是的,我试着谷歌寻求答案但没有运气,问题是我的ajax请求甚至没有发送一个东西,所以我猜它有与语法有关虽然看起来对我很好:

$(window).on('load',function()
{
    $("#unfriend_user > p").click(function()
    {
        $.ajax(
        {
            url: "php_includes/remove_friend.php", 
            type: "POST",
            data: 
            {
                user_1 : <?php echo $logged_id ?> ,
                user_2 : <?php echo $page_user_id ?>,
                user_username : <?php echo $logged_username ?>,
                user_password : <?php echo $logged_password ?>
            },
            success: function(data)
            {
                alert(data);
            }
        });
    });
});

所有php回显变量都有值。

在我添加这两行之后问题出现了:

user_username : <?php echo $logged_username ?>,
user_password : <?php echo $logged_password ?>

如果我删除这两行&#34;,&#34;一切正常。

2 个答案:

答案 0 :(得分:3)

如果您查看呈现的HTML(&#34;查看源代码&#34;在浏览器中),您会看到您的javascript看起来像:

data: 
    {
        user_1 : 1 ,
        user_2 : 2,
        user_username : someusername,
        user_password : somepassword
   },

由于这些是字符串(我假设),你需要引用它们:

data: 
    {
        user_1 : <?php echo $logged_id ?> ,
        user_2 : <?php echo $page_user_id ?>,
        user_username : "<?php echo $logged_username ?>",
        user_password : "<?php echo $logged_password ?>"
    },

答案 1 :(得分:1)

可能你正在制作javascript语法 因为用户名和密码是你需要引用它们的字符串

最好的方法是使用json_encode

json_encode会在需要时加上引号

$(window).on('load',function()
{
    $("#unfriend_user > p").click(function()
    {
        $.ajax(
        {
            url: "php_includes/remove_friend.php", 
            type: "POST",
            data: 
            {
                user_1 : <?php echo json_encode($logged_id) ?> ,
                user_2 : <?php echo json_encode($page_user_id) ?>,
                user_username : <?php echo json_encode($logged_username) ?>,
                user_password : <?php echo json_encode($logged_password) ?>
            },
            success: function(data)
            {
                alert(data);
            }
        });
    });
});