C# Visual Studio For Mac.net Core 2.0 Ajax将模型传递给控制器
我试图通过使用Ajax从客户端传递模型,向我的控制器发出C# Visual Studio For Mac.net Core 2.0 Ajax将模型传递给控制器,c#,ajax,macos,http-post,C#,Ajax,Macos,Http Post,我试图通过使用Ajax从客户端传递模型,向我的控制器发出POST请求 我的控制器是 [HttpPost] public string GetMobiles(Model Datas) { string url = "http://mobilws.infomobil.com.tr/mobilws/services/mobiles?token=" + Datas.Token; string result = string.Empty; var request = (HttpW
POST
请求
我的控制器是
[HttpPost]
public string GetMobiles(Model Datas)
{
string url = "http://mobilws.infomobil.com.tr/mobilws/services/mobiles?token=" + Datas.Token;
string result = string.Empty;
var request = (HttpWebRequest)WebRequest.Create(url);
var response = request.GetResponse();
using (var responseStream = response.GetResponseStream())
{
var reader = new StreamReader(responseStream, System.Text.Encoding.UTF8);
result = reader.ReadToEnd();
}
return JsonConvert.SerializeObject(result);
}
我的Model.cs是
public class Model
{
public string Token { get; set; }
}
而ajax是
var model = { Token: Token };
jQuery.ajax({
type: "POST",
url: '../Home/GetMobiles',
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ Datas: model }),
success: function (data)
{
alert(data);
},
failure: function (errMsg) {
alert(errMsg);
}
});
但是当我启动调试会话时,绑定模型总是空的
你有什么想法来实现这一点吗?欢迎来到社区@muratgoller 我想,问题在于你传递数据的方式。由于将模型指定给
Datas
属性,因此失败
相反,在ajax调用中直接传递序列化模型
jQuery.ajax({
type: "POST",
url: '../Home/GetMobiles',
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(model),
success: function (data)
{
alert(data);
},
failure: function (errMsg) {
alert(errMsg);
}
});
为了让JSON成为控制器
端。您可能需要将[FromBody]
提示添加到操作中
[HttpPost]
public string GetMobiles([FromBody]Model Datas)
{
//rest of code
}