【发布时间】:2014-01-31 05:32:57
【问题描述】:
如果我从 PostUser 方法中删除字符串参数,下面的代码可以找到。 但是当我添加 blob 时,它会失败并显示 404。我做错了什么?
控制器
public class LongPollController : ApiController
{
public User PostUser(string blob)
{
var user = new User
{
Name = "John Smith",
Age = 20,
};
return user;
}
}
cshtml
<div id="message">Waiting....</div>
@section scripts {
<script>
var data = new Object();
data.blob = 'Hello World';
var request = new XMLHttpRequest();
request.onreadystatechange = function () {
if (request.readyState == 4 && request.status == 200) {
handleUser(JSON.parse(request.responseText));
}
};
request.open("POST", "api/longpoll/user");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader('Content-Type', 'application/json');
request.send(JSON.stringify(data));
function handleUser(user) {
var msg = document.getElementById('message');
msg.innerHTML = 'Name: ' + user.Name + '<br />' +
'Age: ' + user.Age + '<br />'
}
</script>
将我的数据添加到 request.send() 以便 WebApi 获取它们的正确方法是什么?
【问题讨论】:
标签: c# javascript asp.net-mvc asp.net-web-api xmlhttprequest