这个问题相当微不足道,但是尽管搜索并尝试了不同的方法,但我无法让它发挥作用。
我在action.php中有以下内容
<?php
function sendCommand($item, $data)
{
$url = "https://host/rest/items/" . $item;
$options = array(
'http' => array(
'header' => "Content-type: text/plain\r\n",
'method' => 'POST',
'content' => $data //http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}
?>
这是我的html页面的一部分
<form action="action.php?item=CancelParty&data=ON" method="post" align="center" class="form-inline" role="form">
<button type="submit" class="btn btn-warning btn-fill">Volume down</button>
</form>
但是我的请求没有得到处理。我错过了什么?我通常不做任何php或REST调用,对于web开发人员来说,这个问题一定非常容易我认为:)
答案 0 :(得分:1)
你必须实际调用PHP文件中的函数,在最后一个}
之后添加以下行sendCommand($_POST['item'], $_POST['data']);
请记住不要相信公共来源的意见。
另外,将表单标记更改为:
<form action="action.php" method="post" align="center" class="form-inline" role="form">
最后,您需要实际提交数据,我建议在表单中添加以下内容:
<input type="hidden" value="CancelParty" name="item">
<input type="hidden" value="ON" name="data">