我试图将数据从AJAX GET发送到我的控制器,但数据始终为空。
我的控制器:
[Route("api/sendingData")]
public class myController : ApiController
{
[EnableCors(origins: "*", headers: "*", methods: "*")]
[HttpGet]
public bool Get(dataModel data)
{
myFunc result = new myFunc(data);
return result.success;
}
}
我的dataModel:
public class dataModel
{
public int id { get; set; }
public List<int> arrValues { get; set; } = null;
}
我通过html ajax调用控制器:
data = {
id: 1,
arrValues : [40, 43]
};
$.ajax(
{
url: "api/sendingData",
type: "GET",
dataType: 'jsonp',
data: data,
success: function (result) {
console.debug(result);
alert(result);
},
error: function (xhr, status, p3, p4) {
console.debug(xhr);
var err = "Error " + " " + status + " " + p3;
if (xhr.responseText && xhr.responseText[0] == "{")
err = JSON.parse(xhr.responseText).message;
alert(err);
}
});
当我调试控制器时,变量数据为空。为什么不从AJAX请求中获取数据?
由于
答案 0 :(得分:0)
Model不需要在dataModel类上赋值null。
struct MainDataFamily: Codable {
let families: [Family]
enum CodingKeys: String, CodingKey {
case families = "families"
}
}
将控制器更改为接受基本类型(如int和string),因为获取请求然后使用查询字符串发送数据以从ajax获取请求。
public class dataModel
{
public int id { get; set; }
public List<int> arrValues { get; set; }
}
答案 1 :(得分:0)
尝试类似:&#34; POST&#34;。 当您输入类型:&#34; GET&#34;时,您的日期会进入您的网址,如下所示:
api/sendingData?id=1&arrValues=value