我通过Javascript调用一个帖子请求,看起来是这样的,
function syncDeviceId(deviceID, mod){
var request = new Request('url', {
method: 'POST',
body: JSON.stringify({
uuid: unique_id,
}),
mode: 'cors'
})
fetch(request).then(function(data) {
return
})
我试图收回这样的价值观,
<?php
$post['uuid'] = $_POST['uuid'];
?>
这是返回为空,我怎么能从PHP中的获取后请求检索值。谢啦
您需要回显结果,因此它将在请求正文中返回:
<?php
$post['uuid'] = $_POST['uuid'];
echo $post['uuid'];
?>
另外,看起来你需要用你调用的php脚本的url实例化你的请求对象:
var请求=new请求('my_script.php ', { . . .
无论php脚本在哪里。
我也有同样的问题。
我首先使用Chrome调试工具来确保我传递的是一个请求体(Chrome调试将其称为“请求负载”)
{ClientDomain: "example.com"}
然后,我在接收PHP脚本中使用了声明的代码。
$json = file_get_contents('php://input');
$data = json_decode($json);
然后将我的JSON代码放入一个数组中,然后用PHP读取。
PRINT $data["ClientDomain"];
我希望这能帮助下一个人。
这是因为您没有将请求的正文设置为正确的格式。
https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#Parameters
body:要添加到请求中的任何主体:可以是Blob、BufferSource、FormData、URLSearchParams或USVString对象。请注意,使用GET或HEAD方法的请求不能有正文。
内容类型标头基于设置为body
的对象,或者基于在Header对象中指定的Content-Type(如果提供)。
因此,将body设置为JSON字符串会使内容类型头为text/普通
。即使您将请求Content-Type设置为Application/json
,也没关系,因为PHP默认不知道如何解析传入的JSON请求有效载荷(除非它最近在PHP 7中添加)。
你可以在客户端做一些事情
从对象中创建FormData对象,并将其用作主体,然后将使用多部分/form
内容类型
var data = {some:"data",even:"more"};
var fd = new FormData();
//very simply, doesn't handle complete objects
for(var i in data){
fd.append(i,data[i]);
}
var req = new Request("url",{
method:"POST",
body:fd,
mode:"cors"
});
创建一个URLSearchParams对象,该对象将内容类型设置为application/x-www-form-urlencoded
。注意:URLSearchParams不受广泛支持
//Similar to creating a simple FormData object
var data = {some:"data",even:"more"};
var params = new URLSearchParams();
for(i in data){
params.append(i,data[i]);
}
var req = new Request("url",{
method:"POST",
body:params,
mode:"cors"
});
创建查询字符串(即a=hello
var data = {some:"data",even:"more"};
var headers = new Headers({
"Content-Type":"application/x-form-urlencoded"
});
var params = [];
for(i in data){
params.push(i + "=" + encodeURIComponent(data[i]));
}
var req = new Request("url",{
method:"POST",
body:params.join("&"),
headers:headers,
mode:"cors"
});
如果您仍然希望发送JSON有效负载而不是执行上述操作,那么您可以,但是您必须读取原始请求输入,然后使用JSON_decode来获取数据
$json = file_get_contents('php://input');
$data = json_decode($json);
问题内容: 我有以下JSON字符串: 如何在PHP中解析它并提取s 列表? 问题答案: 您可以使用该函数来解析PHP中的JSON数据(至少=> 5.2.0)。一旦有了PHP对象,就可以轻松地遍历所有配方/成员并使用以下内容访问其标题: (对不起,我现在无法真正运行此代码。希望无论如何它都会有所帮助。)
问题内容: 我想解析JavaScript中的JSON字符串。响应就像 我怎样才能获得的值,并从这个? 问题答案: 在JavaScript中解析JSON的标准方法是 该API是在ES5(2011)中引入的,此后按市场份额和Node.js在超过99%的浏览器中已实现。它的用法很简单: 唯一无法使用的时间是您是否在为旧版浏览器编程,例如IE 7(2006),IE 6(2001),Firefox 3(20
问题内容: 我正在尝试在JavaScript中实现CSS的解析,以便: 被解析为对象: 首先,有没有可以使用的JavaScript / jQuery 库 ? 我的实现是非常基本的,因此我确信它绝对不是万无一失的。例如,它对于基本CSS可以正常工作,但对于以下类型的属性可以正常工作: 失败是因为我要分开成对使用。在这里,发生在中,因此它也会在该点分裂。 是否有其他方法可以做到这一点? 这是代码: 谢
问题内容: 我有一个JavaScript文件,我想在其中包含一些php代码。问题是我在PHP上也有一些定义,我也想在JS上使用。 有没有办法在HTML中包含.js文件,从而允许服务器首先使用php解释它(在下载到客户端之前)? 谢谢 :) 问题答案: 在输出任何内容之前,您还需要输出正确的标头,您应该具有以下内容: 编辑:正如@Tony_A指出的,应该是。我认为在2010年写这篇文章时,它并不重要
问题内容: 我知道我们可以使用PHP DOM 来使用PHP解析HTML。我也在堆栈溢出中发现了很多问题。但是我有一个特定的要求。我有如下的HTML内容 我想解析以上HTML并将内容保存到两个不同的数组中,例如: 和 我可以简单地使用jQuery来实现。但是我不确定这是否正确。如果有人能指出我正确的方向,那就太好了。提前致谢。 问题答案: 尝试查看PHP简单HTML DOM解析器 它具有类似于jQu