Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
使用jQuery向ASP.NET Web API传递多个参数_Jquery_Asp.net Mvc - Fatal编程技术网

使用jQuery向ASP.NET Web API传递多个参数

使用jQuery向ASP.NET Web API传递多个参数,jquery,asp.net-mvc,Jquery,Asp.net Mvc,在ASP.NET MVC 4 Web API中将表单变量发布到Web API方法的简单参数 $.ajax({ url: 'api/products', type: 'POST', data: { Id: 2012, Name: 'test', Category: 'My Category', Price: 99.5 }, dataType: 'json', success: function (data) { alert(data);

在ASP.NET MVC 4 Web API中将表单变量发布到Web API方法的简单参数

$.ajax({
    url: 'api/products',
    type: 'POST',
    data: { Id: 2012, Name: 'test', Category: 'My Category', Price: 99.5 },
    dataType: 'json',
    success: function (data) {
        alert(data);
    }
});

但它不起作用如何做到这一点?

请使用下面的代码,它将起作用。我所做的唯一更改是在
数据
参数中,我正在执行
JSON.stringify()
,几个月前遇到了相同的问题。基本上,它需要一个可以解析为
JSON
的字符串

$.ajax({
    url: 'api/products',
    type: 'POST',
    data: JSON.stringify({ Id: 2012, Name: 'test', Category: 'My Category', Price: 99.5 }),
    dataType: 'json',
    success: function (data) {
        alert(data);
    }
});

我完全按照上面使用的方法来做,但是使用.ashx文件来处理调用,并使用
Context.Request.Form[]
来获取post数据。它的优点是ashx文件又好又快。@Archer我用了下面的答案。。。这个答案值得使用吗?如果它对你有效,那么是的。我尝试了各种处理来自Javascript的.Net调用的方法,最后完成了上述操作。我只是想让你知道这件事,因为我觉得它很简单,虽然有点“老派”。你能发布你的
ApiController