首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从php获取使用Ajax发送的数据?

从php获取使用Ajax发送的数据?
EN

Stack Overflow用户
提问于 2019-05-20 22:03:29
回答 2查看 73关注 0票数 -1

抱歉,如果这已经被问了很多次,但我不能让它工作。我正在尝试建立一个restful风格的网站,我有一个简单的表单:

代码语言:javascript
复制
<form action="/my/path" method="post" id="myformid">
Name <input type="text" name="name">
<input type="submit" value="Test">
</form>

我使用Javascript转换用户输入的数据,并使用Ajax将它们发送到我的php文件:

代码语言:javascript
复制
function postData() {
    $('#myformid').on('submit', function(event) {
        event.preventDefault();
        const json = JSON.stringify($("#myformid").serializeArray());
        $.ajax({
            type: "POST",
            url: "/my/path",
            data: json,
            success: function(){},
            dataType: "json",
            contentType : "application/json"
        });
    });
}

我尝试在php上读取数据,如下所示:

代码语言:javascript
复制
$data = json_decode(file_get_contents('php://input'), true);
$name = $data["name"];

如果我使用Postman这样的工具在请求正文中发送一个JSON,那么代码就可以完美地工作,但是从我使用Ajax测试的结果来看,json数据作为POST数据到达,我可以使用$_POST"name“来读取它,但不能像我那样使用'php://input‘。

我如何修复它,使JSON被接受,甚至通过Javascript发送?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56222590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档