Eya*_*yal 6 c# ajax jquery asp.net-web-api
我试图将两个参数发布到以下函数,但我没有设法达到该函数:
public void SetShopSubCategories([FromBody]string userId, int []subCategories )
{
}
Run Code Online (Sandbox Code Playgroud)
这是我发布的方式:
var subCategories = [ 1, 2, 3, 4, 5];
var userId = "123";
$.ajax({
type: "POST",
url: "/Category/SetShopSubCategories/",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(userId, subCategories),
success: function () {
alert("OK");
},
error: function () {
alert("error");
}
Run Code Online (Sandbox Code Playgroud)
当我只用一个参数发布时,它很顺利,我可以达到这个功能:
public void SetShopSubCategories([FromBody]string userId )
{
}
var userId = "123";
$.ajax({
type: "POST",
url: "/Category/SetShopSubCategories/",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(userId, subCategories),
success: function () {
alert("OK");
},
error: function () {
alert("error");
}
Run Code Online (Sandbox Code Playgroud)
这个也很顺利:
public void SetShopSubCategories( int []subCategories )
{
}
var subCategories = [ 1, 2, 3, 4, 5];
$.ajax({
type: "POST",
url: "/Category/SetShopSubCategories/",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(subCategories),
success: function () {
alert("OK");
},
error: function () {
alert("error");
}
Run Code Online (Sandbox Code Playgroud)
我的RoutConfig:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "SetCategories",
routeTemplate: "{controller}/{action}"
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
模型
public class Mymodel
{
public string UserId { get; set; }
public int[] subCategories { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器动作
[HttpPost]
public void SetShopSubCategories([FromBody]Mymodel model)
{
}
Run Code Online (Sandbox Code Playgroud)
阿贾克斯调用:
var subCategories = [1, 2, 3, 4, 5];
var userId = "123"
$.ajax({
type: "POST",
url: "/api/Values",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ userid: userId, subCategories: subCategories }),
success: function () {
alert("OK");
},
error: function () {
alert("error");
}
});
Run Code Online (Sandbox Code Playgroud)
这是链接: http: //www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api
您会发现由于流的类型,多个参数是不允许的或有问题的。
归档时间: |
|
查看次数: |
6174 次 |
最近记录: |