我们前后台传参的话用这个比较麻烦,我在这里就转换一下,这里传值依然是json,在后台在转
首先写一个供调用服务器的支持form-data的方法
public string PostJsonData(string url, Dictionarydic) { string str = ""; try { HttpClient client = new HttpClient(); var postContent = new MultipartFormDataContent(); string boundary = string.Format("--{0}", DateTime.Now.Ticks.ToString("x")); postContent.Headers.Add("ContentType", $"multipart/form-data, boundary={boundary}"); foreach (var key in dic.Keys) { postContent.Add(new StringContent(dic[key].ToString()), key); } HttpResponseMessage response = client.PostAsync(url, postContent).Result; str = response.Content.ReadAsStringAsync().Result; } catch (Exception ex) { return ("PostJsonData:" + ex.ToString()); } return str; }
下边我在写一个方法把前台传过来的值传入该方法,然后获取我需要的返回值数据
public class codeInput
{
public string time { get; set; }
public string phone { get; set; }
}
[HttpPost] //这样前台传json格式的数据就可以,post提交方式
[Route("codes")]
public JsonResult code(codeInput input)
{
Data rtd = new Data();
try
{
int res;
string url = "要调用服务器的url";
Dictionary param = new Dictionary();
param.Add("time", $"{input.time}");
param.Add("phone", $"{input.phone}");
//调用接口,发送数据
string returnData = PostJsonData(url,param );
JObject joResult = (JObject)JsonConvert.DeserializeObject(returnData);
if (joResult.GetString("code") == "200")
{
rtd.errcode = 0;
rtd.errmsg = "成功";
rtd.result = joResult;
}
else
{
rtd.errcode = 1;
rtd.errmsg = "失败!";
//rtd.result = joResult;
}
}
return Json(rtd);
}
catch (Exception ex)
{
rtd.errcode = 1;
rtd.errmsg = ex.Message.ToString();
}
return Json(rtd);
}



