收到 Ajax 回复

Receiving Ajax response

我是 jquery Ajax 的新手。我已经学会了如何发送 Ajax 请求。我的问题是如何准备一个文件以便能够在 return 中发送响应。比如说,我的 Ajax 请求的 url 是 process.php,我如何准备 process.php 文件以便我可以接收数据类型 html 或文本的响应.我知道我的问题听起来很奇怪,但我更关心处理响应的方法,而不是发送请求。请帮助我做任何对我有用的事情。我更喜欢例子。

您的 PHP 端点将使用例如POST(如果你喜欢可以使用GET)。

那么您需要以HTML、JSON或纯文本回复。

在下面的示例中,您发送 $.POSTdata 值为 { cmd: 'time' }

// Read command. No command is equivalent to an empty string.
$cmd = empty($_POST['cmd']) ? '' : $_POST['cmd'];

// Do something with the command.
switch($cmd) {
    case '': // Empty string
        $reply = "You asked nothing";
        break;
    case 'time':
        $reply = date('Y-m-d H:i:s');
        break;
    default:
        $reply = "You asked a unexpected question";
        break;
}

/* Text */
Header('Content-Type: text/plain;charset=utf8');
die($reply);

/* HTML */
Header('Content-Type: text/html;charset=utf8');
die($reply); // This should contain valid HTML

/* JSON, used to send structured data */
$reply = array(
    'status' => 'OK',
    'message'=> 'All good',
    'reply'  => $reply,
);
Header('Content-Type: application/json;charset=utf8');
die(json_encode($reply));

在最后一种情况下,您的回调函数将收到一个包含成员状态、消息和回复的对象:

success: function(data) {
    if (!data.status) {
        alert("Unexpected return from AJAX endpoint: " + data);
        return;
    }
    if ('OK' == data.status) {
        alert(data.reply);
        return;
    }
    alert("AJAX signaled error: " + data.message);
}