在服务器上从 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 将图像上传到服务器目录

使用Xamarin表单中的UIDocumentPickerViewController作为依赖服务

在 Ubuntu 上从 PHP 连接到 SQL Azure