我的web服务使用asp.net web api。目前我的api控制器没有做任何事情,因为我想检查这个帖子,看看我在这里工作。从客户端发送POST时Web服务没有响应
你会注意到我正在发布到本地主机。这是因为目前我只在调试器中运行服务应用程序,以便我可以通过Watch查看帖子。
我的问题是,它似乎不像我的帖子是去任何地方。当我从网页提交表单时,我在虚拟空间中设置的断点永远不会受到影响。
我误解了这是应该如何在这里工作?
控制器
public class CashbackController : ApiController
{
// POST api/<controller>
public void Post([FromBody]string value)
{
}
}
客户端网页
<form action="http://localhost:49474/api/Cashback" method="post">
<p>
API Key: <input type="text" name="_apikey" /><br />
Receipt No: <input type="text" name="_receipt" /><br />
Purchase Date: <input type="text" name="_date" /><br />
Cashback Total: <input type="text" name="_cashback" />
</p>
</form>
<p><input type="submit" value="Submit" /></p>
<script>
$(document).ready(function() {
alert("JQuery works");
});
$("input[type=submit]").on("click", function() {
$("form").submit();
});
$("form").submit(function() {
$.post($(this).attr("action"), $(this).serialize(), function(data) {
if (!data.IsOK) {
alert("Error: " + data.Error);
}
else
{
alert("Post successful.");
}
return;
});
return false;
});
</script>
编辑
与小提琴手检查,它不看,就好像我点击提交按钮正在做任何事情......
正确引用jQuery和提琴手抓住了这个:
POST http://localhost:49474/api/Cashback HTTP/1.1
主机:本地主机:49474
的User-Agent:Mozilla的/ 5.0(Windows NT的6.1; WOW64; RV:36.0)壁虎/ 20100101火狐/ 36.0
接受:/
接受语言:EN-GB,连接; Q = 0.5
接受编码:gzip,放气
DNT:1
内容 - 类型:application/x-www-form-urlencoded;字符集= UTF-8
的Referer:http://localhost/servicepost/
的Content-Length:85
产地:http://localhost
连接:保持活着
附注:无缓存
缓存控制:无缓存_apikey = ABCDEFGHIJKLMNOPQRSTUVWXYZ & _receipt = 1234567890 & _date = 2015年3月31日& _cashback = 100
然而,在我的控制器,值仍然是空
你可以使用提琴手来解决问题。 – 2015-03-31 09:56:29
我会看看,但我真正想知道的是:我是否正确理解这些东西? – Ortund 2015-03-31 09:59:30