在服务器上从 xamarin 发布到 php 时出现问题 [重复]
Posted
技术标签:
【中文标题】在服务器上从 xamarin 发布到 php 时出现问题 [重复]【英文标题】:Problem making a post from xamarin to php on the server [duplicate] 【发布时间】:2020-02-25 18:54:05 【问题描述】:我正在将我的 Xamarin c# 代码发布到服务器上的 php 文件。我的问题是我没有收到我发送的数据。
客户:
JObject oJsonObject = new JObject();
oJsonObject.Add("Id", "eee");
oJsonObject.Add("Referencia", 0);
oJsonObject.Add("Nom_Pieza", 23);
oJsonObject.Add("Cantidad", 4);
oJsonObject.Add("Precio", 2.6);
oJsonObject.Add("Importe", 1.1);
private string URL = "http://10.3.148.92/WebServiceXamarin/index.php";
//HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Post, URL);
var Content = new StringContent(oJsonObject.ToString(), Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
var response = await client.PostAsync(URL, Content);
var content = await response.Content.ReadAsStringAsync();
服务器:
$Id = filter_input_array(INPUT_POST, "Id");
$Referencia = filter_input_array(INPUT_POST, "Referencia");
$Nom_Pieza = filter_input_array(INPUT_POST, "Nom_Pieza");
$Cantidad = filter_input_array(INPUT_POST, "Cantidad");
$Precio = filter_input_array(INPUT_POST, "Precio");
$Importe = filter_input_array(INPUT_POST, "Importe");
这是我在运行echo var_dump($_REQUEST);
和echo var_dump($_POST);
时看到的:
<pre class='xdebug-var-dump' dir='ltr'>
<small>C:\wamp64\www\WebServiceXamarin\index.php:27:</small>
<b>array</b> <i>(size=0)</i>
<i><font color='#888a85'>empty</font></i>
</pre>
我做错了什么?我可以看到代码正在运行,但我的 PHP 变量中似乎没有收到任何数据。 谢谢
【问题讨论】:
试试var_dump($_REQUEST);
和var_dump($_POST);
。查看其中是否包含您要查找的值。
“这能回答你的问题吗?” (以前称为“可能的重复”)Receive JSON POST with PHP
当您以application/json
发送数据时,PHP 不会填充 $_POST ...有关在这种情况下如何正确访问数据的信息,请参阅提到的副本。
好吧,你是对的。谢谢!!!解决方案是: $data = json_decode( file_get_contents('php://input') ); $Id = $data->Id;
【参考方案1】:
解决办法是:
$data = json_decode( file_get_contents('php://input') );
$Id = $data->Id;
谢谢!!!
【讨论】:
请不要忘记在三天后标记您的答案,这将对有类似问题的其他人有所帮助。以上是关于在服务器上从 xamarin 发布到 php 时出现问题 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 React 和 Webpack 项目上从“babel-preset-es2015”过渡到“babel-preset-env”时出现问题
在 Linux 上从 PHP 连接到 MS Access 数据库
sh [在AWS EC2 Linux服务器上从PHP 5.X.X升级到PHP 7] #linux #aws
Xamarin.forms 使用 php 将图像上传到服务器目录