Asp.net 从客户端发送帖子时,web服务没有响应
我的web服务使用asp.net web api。目前我的api控制器没有做任何事情,因为我想检查帖子,看看我在这里使用的是什么 您会注意到我正在向localhost发布。这是因为目前我只在调试器中运行服务应用程序,以便通过手表查看帖子 我的问题是,我的帖子似乎哪儿也去不了。当我从网页提交表单时,我在Post void上设置的断点永远不会被击中 我是不是误解了这是怎么回事 控制器 客户端网页 编辑 用fiddler检查,我点击submit按钮似乎什么都没做 正确引用jquery和fiddler捕捉到了以下内容: POST HTTP/1.1 主机:本地主机:49474 用户代理:Mozilla/5.0 Windows NT 6.1;WOW64;rv:36.0 Gecko/20100101 Firefox/36.0 接受:/ 接受语言:en-GB,en;q=0.5 接受编码:gzip,deflate DNT:1 内容类型:application/x-www-form-urlencoded;字符集=UTF-8 推荐人: 内容长度:85 来源: 连接:保持活力 Pragma:没有缓存 缓存控制:没有缓存 _apikey=abcdefghijklmnopqrstuvwxyz&_收据=1234567890&_日期=2015-03-31&_现金返还=100Asp.net 从客户端发送帖子时,web服务没有响应,asp.net,asp.net-web-api,Asp.net,Asp.net Web Api,我的web服务使用asp.net web api。目前我的api控制器没有做任何事情,因为我想检查帖子,看看我在这里使用的是什么 您会注意到我正在向localhost发布。这是因为目前我只在调试器中运行服务应用程序,以便通过手表查看帖子 我的问题是,我的帖子似乎哪儿也去不了。当我从网页提交表单时,我在Post void上设置的断点永远不会被击中 我是不是误解了这是怎么回事 控制器 客户端网页 编辑 用fiddler检查,我点击submit按钮似乎什么都没做 正确引用jquery和fiddler捕
然而,在我的控制器中,值仍然为null,所以这里有一些错误 首先,我没有引用正确的jquery源代码 注意:只有jquery2.1.3.min或其他您认为合适的链接才可以使用这个链接。只是比较简单 其次,我的控制器没有接受正确的类型。这就是我真正困惑的地方,因为客户端应用程序不知道我的api使用什么模型 事实证明,这只是在发布到api的客户端应用程序上镜像模型的问题。因此,考虑下面的
public class UserController : ApiController
{
// POST api/<controller>
public void Post([FromBody]User Value)
{
}
}
public class User
{
public int ID { get; set; }
public string Username { get; set; }
public string EmailAddress { get; set; }
}
表单必须张贴模型的镜像,在本例中,该镜像应如下所示:
<form method="post" action="path-to-service/api/User">
<div>
Username: <input type="text" name="Username" /><br />
Email Address: <input type="text" name="EmailAddress" />
</div>
</form>
上面的ajax帖子可以正常工作,但需要进行修改,以便完全按照您的要求进行操作。通常,我只是在at if语句中加入一些错误处理,并重定向到else。您可以使用fiddler来解决问题。我会仔细研究一下,但我真正想知道的是:我是否正确理解了这些内容?
public class UserController : ApiController
{
// POST api/<controller>
public void Post([FromBody]User Value)
{
}
}
public class User
{
public int ID { get; set; }
public string Username { get; set; }
public string EmailAddress { get; set; }
}
<form method="post" action="path-to-service/api/User">
<div>
Username: <input type="text" name="Username" /><br />
Email Address: <input type="text" name="EmailAddress" />
</div>
</form>