Javascript POST调用不适用于webapi
我试图在webapi中发布一些操作的数据。我的web api包含多个POST方法。当我使用postman发布数据时,它会命中控制器方法,但数据会作为null传递。当我从web应用程序命中同一方法时,它不工作,并显示404错误 投递电话:Javascript POST调用不适用于webapi,javascript,jquery,asp.net-web-api2,Javascript,Jquery,Asp.net Web Api2,我试图在webapi中发布一些操作的数据。我的web api包含多个POST方法。当我使用postman发布数据时,它会命中控制器方法,但数据会作为null传递。当我从web应用程序命中同一方法时,它不工作,并显示404错误 投递电话: var urlstring = "/api/Membership/BulkUpload" $.post( urlstr
var urlstring = "/api/Membership/BulkUpload"
$.post(
urlstring,
JSON.stringify(exceljson)).
success(function(data)
{
console.log(data);
}
);
控制器方法:
[HttpRoute("api/Membership/BulkUpload")]
public HttpResponseMessage BulkUpload([FromBody]string studentDetails)
{
Some Code Here
}
当我把[FromBody]移走时,邮递员也不会打它。我没有发现post call中出错的地方请尝试以下代码
var urlstring = "/api/Membership/BulkUpload"
$.post(
urlstring,
{JSON.stringify(exceljson))})
.done(function(data)
{
console.log(data);
}
);
您可以尝试以下操作之一: 1-无[来自身体] 客户端
var urlstring = `/api/Membership/BulkUpload?studentDetails=${value}`
$.post(
urlstring,
{}).
success(function(data)
{
console.log(data);
}
);
[HttpRoute("api/Membership/BulkUpload")]
public HttpResponseMessage BulkUpload(string studentDetails)
{
Some Code Here
}
var urlstring = '/api/Membership/BulkUpload'
$.post(
urlstring,
{
studentDetails : value
}).
success(function(data)
{
console.log(data);
}
);
2-映射到C#对象
客户端
var urlstring = `/api/Membership/BulkUpload?studentDetails=${value}`
$.post(
urlstring,
{}).
success(function(data)
{
console.log(data);
}
);
[HttpRoute("api/Membership/BulkUpload")]
public HttpResponseMessage BulkUpload(string studentDetails)
{
Some Code Here
}
var urlstring = '/api/Membership/BulkUpload'
$.post(
urlstring,
{
studentDetails : value
}).
success(function(data)
{
console.log(data);
}
);
服务器端
[HttpRoute("api/Membership/BulkUpload")]
public HttpResponseMessage BulkUpload([FromBody]studentApiModel dataIn)
{
Some Code Here
}
public class studentApiModel
{
public string studentDetails { get; set; }
}
我假设变量exceljson已经是一个json,您要再次将其字符串化吗?另外,请尝试将您的数据作为表单数据发布,而不是将其替换为表单数据。是否可以编写代码examplevar urlstring=“/api/Membership/BulkUpload”$.post(urlstring,{variable1:value1,variable2:value2}.success(函数(数据){console.log(数据);});它不起作用。我正在编辑一个问题。添加:postman命中控制器,但参数作为null值传递可能只是尝试一下>>>尝试将第二个参数更改为{“硬编码字符串”}你能在fiddler中验证postman和你的ajax调用是否遵循相同的url。同时请比较两者的请求正文。