【问题标题】:Catch data in php script sent via Ajax and jQuery捕获通过 Ajax 和 jQuery 发送的 php 脚本中的数据
【发布时间】:2016-02-23 23:56:44
【问题描述】:

我似乎无法恢复发送到 php 脚本的数据。 在监控 chrome 工具(networks->xhr->headers)时,Content-length 也为 0。

在响应选项卡下,错误如下:

“自动填充 $HTTP_RAW_POST_DATA 已弃用,将在未来版本中删除。” “无法修改标头信息 - 标头已在 0 行的 Unknown 中发送”

触发 jQuery/Ajax POST 的代码(在 index.html 上): var name = "约翰";

$.ajax({
type: 'POST',
contentType: 'application/json',
url: "http://localhost:8000//mobile/hi.php",
date: name,
success: function(){alert("sent");}
});

以及位于单独页面上的php文件(hi.php):

<?php
$data = $_POST['name'] or $_REQUEST['name'];
echo $data;
?>

如何简单地捕获发送到 php 变量中的数据? 提前致谢

【问题讨论】:

    标签: php jquery ajax post


    【解决方案1】:

    您没有正确使用 jQuery Ajax:

    $.ajax({
        url: "http://localhost:8000/mobile/hi.php",
        type: 'POST',
        dataType: 'json',
        data: {
            name: name
        },
        success: function(){
            alert("sent");
        }
    });
    

    【讨论】:

    • 谢谢@T'lash!两个问题:如果我想发送一个 json 对象,我会在数据字段中使用: data: {json : objName} ?
    • 你知道如何在php脚本中恢复发送的数据吗?
    • JSON 对象是 JavaScript 对象,因此您只需将其放入数据对象中。要使用它,您必须使用 json_decode($_POST['json']) 函数将其反序列化为 PHP 对象。您还可以使用 json_encode($your_response) 序列化您的响应。
    猜你喜欢
    • 1970-01-01
    • 2017-04-23
    • 2017-03-14
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    相关资源
    最近更新 更多