我想使用$ _GET方法将一个字符串从一个PHP文件传递到另一个PHP文件。每次传递时,此字符串都具有不同的值。据我所知,你通过URL传递GET参数,你必须明确告诉参数是什么。如果要返回从提供服务器到服务器请求它的字符串值,该怎么办?我想传递json数据格式。另外我如何将其作为Ajax发送?
服务器(get.php):
<?php
$tagID = '123456'; //this is different every time
$tag = array('tagID' => $_GET['tagID']);
echo json_encode($tag);
?>
服务器(rec.php):
<?php
$url = "http://192.168.12.169/RFID2/get.php?tagID=".$tagID;
$json = file_get_contents($url);
#var_dump($json);
$data = json_decode($json);
#var_dump($data);
echo $data;
?>
答案 0 :(得分:1)
如果我理解正确,您希望从服务器获取tagID
?您只需传递一个“请求”即可。服务器的参数,告诉服务器返回什么。
编辑:这实际上并不是实现API的正确方法(比如说),但为了回答你的问题,这就是:
switch($_GET['request']) {
case 'tagID';
echo json_encode($tag);
break;
}
您现在可以使用192.168.12.169/get.php?request=tagId
当涉及到客户端时,它变得有点复杂。你提到了AJAX,但这只适用于JavaScript。你的php文件不能使用AJAX,你必须使用cURL。
$request = "?request=tagID";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '192.168.12.169/get.php' . $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, '3');
$content = trim(curl_exec($ch));
curl_close($ch);
echo $content;
编辑:为完整性添加了工作cURL示例。
来自How to switch from POST to GET in PHP CURL
的cURL示例$.get("192.168.12.169/get.php?request=tagId", function(data) {
alert(data);
});