Php 如何使用$.post()返回字符串而不是整个页面

Php 如何使用$.post()返回字符串而不是整个页面,php,jquery,ajax,post,json,Php,Jquery,Ajax,Post,Json,伙计们,使用以下代码: $(document).ready(function() { $(".list-book-description").css("display", "none"); $("#user-panel-login").css("display", "none"); $('#login-form').submit(function(e) { e.preventDefault(); var formUsername=$("#l

伙计们,使用以下代码:

$(document).ready(function() {
    $(".list-book-description").css("display", "none");
    $("#user-panel-login").css("display", "none");
    $('#login-form').submit(function(e) {
        e.preventDefault();
        var formUsername=$("#login-form #username").val();
        var formPassword=$("#login-form #password").val();
        if((formUsername.length<6))
        {
        $("#ajax-output").html("<div class='error'>Attenzione username troppo breve!</div>");
        }
        else if((formPassword.length<6))
        {
            $("#ajax-output").html("<div class='error'>Attenzione password troppo breve!</div>");
         }
    else
    {
        $.post(
            'index.php?module=login',
            {
                "username": formUsername,
                "password": formPassword,
            },
            function(data){
                $("#ajax-output").html(data);
            }
        );
    }
});
});
现在,当我在提交登录表单的
#ajax input
div中获得
$.post()的结果时,我遇到了一个问题,它不仅返回登录函数的结果,而且返回索引页+登录函数的结果


如果我尝试将“json”参数设置为php函数中的
$.post
函数和
echo json_encode()
,则根本不起作用。那么,问题出在哪里呢?

我想,你可以在这里请求一个完整的页面。你可以创建一个参数,post或get,你自己决定,如果这是真的,那么你就返回完整的页面,如果是假的,你只返回一个JSON字符串或类似的东西。我相信甚至可以确定请求是否来自ajax!这可能是你的第二个选择。我想,只需添加一个简单的if语句。

好吧,我试着设置登录函数,比如:function login(){echo json_encode(“reply”=>“some text”);}等等,但它不会返回任何内容……我明天会帮你,现在我正在使用手机,尝试编写一个示例非常烦人:s@antonigot it!:我把它放在html代码之前的索引中:if(!isset($_SERVER['HTTP_X_REQUESTED_WITH'])和&!strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])=='xmlhttprequest'){}
function Login()
 {
 if(!checkLogin())
    {
    $function=@stringEscape($_GET['function']);

    if($function==1)
    {
        $username=stringEscape($_POST['username']);
        $password=sha1(stringCrypt($_POST['password'], 'sha1').stringCrypt(DB_CRYPT, 'sha1'));
        if(setLogin($username, $password))
        {
            echo "<div class='ok'>Login effettuato con successo, tra pochi secondi verrai riportato alla homepage!</div>";
        }   
    }
}
else notfound();
}

function setLogin($username, $password, $time="")
{
if(!checkLogin())
{
    if((isset($username)) && (isset($password)))
    {
        $query=mysql_query("SELECT * FROM ".DB_PREF."users WHERE user_username='".$username."' AND user_password='".$password."'");
        if(mysql_num_rows($query))
        {
            $fetch=mysql_fetch_assoc($query);
            $_SESSION['logged_user_id']=$fetch['user_id'];
            $_SESSION['logged_user_username']=$fetch['user_username'];
            return true;
        }
        else
        {
            echo "<div class='error'>Dati non validi, ripeti la procedura di login o <a href='?index.php&module=registration'>registrati</a>!</div>";
        }
    }
}
else notfound();
}