Xamarin.forms 无法在xamarin表单中向post api调用添加参数
我是Xamarin的新手,尝试构建一个简单的应用程序。我正在尝试做一个简单的post调用,其中我发送了一个参数。 这是我的代码:Xamarin.forms 无法在xamarin表单中向post api调用添加参数,xamarin.forms,Xamarin.forms,我是Xamarin的新手,尝试构建一个简单的应用程序。我正在尝试做一个简单的post调用,其中我发送了一个参数。 这是我的代码: private async Task fetchWwarrents(){ var request = new HttpRequestMessage(HttpMethod.Post,"http://perductor.hr/aplikacija/rest/radninalozi.php"); var keyValues = n
private async Task fetchWwarrents(){
var request = new HttpRequestMessage(HttpMethod.Post,"http://perductor.hr/aplikacija/rest/radninalozi.php");
var keyValues = new List<KeyValuePair<string, string>>{
new KeyValuePair<string, string>("driver","1")
};
request.Content = new FormUrlEncodedContent(keyValues);
var client = new HttpClient();
var responseMessage = await client.SendAsync(request);
var jwt = await responseMessage.Content.ReadAsStringAsync();
}
private异步任务fetchwvarrents(){
var request=newhttprequestmessage(HttpMethod.Post)http://perductor.hr/aplikacija/rest/radninalozi.php");
var keyValues=新列表{
新的KeyValuePair(“驱动程序”、“1”)
};
request.Content=newformurlencodedcontent(keyValues);
var client=新的HttpClient();
var responseMessage=await client.sendsync(请求);
var jwt=await responseMessage.Content.ReadAsStringAsync();
}
它可以工作,我的意思是我从api获取数据,但是驱动程序参数无法识别。我用postman测试api,当我发布驱动程序参数时,它正在工作。我不知道问题出在哪里,有人能帮我吗?您发送的json请求格式错误,只需要修改Httpclient请求
private async Task fetchWwarrents()
{
try
{
using (var client = new HttpClient())
{
HttpContent content=null;
var json = JsonConvert.SerializeObject(RquestString);
content = new StringContent(json, Encoding.UTF8, "application/json");
using (var response = await client.PostAsync("http://perductor.hr/aplikacija/rest/radninalozi.php", content))
{
var responseStr = await response.Content.ReadAsStringAsync();
if (!string.IsEmpty(responseStr))
{
//Parse the json string to object as per requirment
}
else
{
//Message
}
}
}
}
catch (Exception ex)
{
Debug.WriteLine(@"ERROR {0}", ex.Message);
}
}
您发送的json请求格式错误,只需修改Httpclient请求即可
private async Task fetchWwarrents()
{
try
{
using (var client = new HttpClient())
{
HttpContent content=null;
var json = JsonConvert.SerializeObject(RquestString);
content = new StringContent(json, Encoding.UTF8, "application/json");
using (var response = await client.PostAsync("http://perductor.hr/aplikacija/rest/radninalozi.php", content))
{
var responseStr = await response.Content.ReadAsStringAsync();
if (!string.IsEmpty(responseStr))
{
//Parse the json string to object as per requirment
}
else
{
//Message
}
}
}
}
catch (Exception ex)
{
Debug.WriteLine(@"ERROR {0}", ex.Message);
}
}
您想在正文中发送参数还是作为查询参数发送?您想在正文中发送参数还是作为查询参数发送?Ty等待响应!但是没有被再次识别,而不是RequestString,我将{driver:1}。。当我在我的另一个应用程序上使用js进行请求时,它是否正常工作?api是否可能与C#不兼容?不,PHP api没有问题,只需检查在Body中传递参数,我就发现了问题,您的代码和我的代码都有问题。它转义字符并添加“\”并破坏json。所以我使用字典,它现在可以工作了:dict.Add(“driver”,“1”);var json=序列化对象(dict);欢迎回复!但是没有被再次识别,而不是RequestString,我将{driver:1}。。当我在我的另一个应用程序上使用js进行请求时,它是否正常工作?api是否可能与C#不兼容?不,PHP api没有问题,只需检查在Body中传递参数,我就发现了问题,您的代码和我的代码都有问题。它转义字符并添加“\”并破坏json。所以我使用字典,它现在可以工作了:dict.Add(“driver”,“1”);var json=序列化对象(dict);