Отправить запрос на php Xamarin.Forms - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть эта функция внутри класса stati c, который отправляет почтовый запрос на код php на моем сервере:

public static string phone;

public static async Task<string> CheckPhone()
{
    string url = "my url...";
    var form = new CheckPhoneForm { Phone = phone };
    var content = JsonConvert.SerializeObject(form);

    HttpClient client = new HttpClient();
    HttpResponseMessage response = await client.PostAsync(url, new StringContent(content));
    if (response.IsSuccessStatusCode == false) return "ERROR";
    return await response.Content.ReadAsStringAsync();
}

Класс CheckPhoneForm:

public class CheckPhoneForm
{
    public string Phone { get; set; }
}

php код:

<?php

    $phone = $_POST["Phone"];

    //rest of the code.....

?>

по какой-то причине $ phone в файле php не получает данные, отправленные с кода c#, и остается пустым. Может кто-нибудь сказать мне, что я делаю не так?

1 Ответ

0 голосов
/ 30 апреля 2020

Возможно, вы не отправляете данные в одном из двух форматов, которые PHP "распознает", когда дело доходит до заполнения $ _POST.

Вам необходимо отправить запрос либо application/x-www-form-urlencoded или multipart/form-data.

(Тело запросов, отправляющих другие Content-Types, все еще может быть прочитано в PHP, но тогда это должно произойти через php://input, и любой разбор контента должен будет выполняется вручную. Например, при отправке данных JSON этот подход обычно используется.)

...