Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio For Mac.net Core 2.0 Ajax将模型传递给控制器_C#_Ajax_Macos_Http Post - Fatal编程技术网

C# Visual Studio For Mac.net Core 2.0 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

我试图通过使用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 = (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
}