MVC 前台js调用后台API方法

baidu_25969659 2015-02-11 03:50:01
ajax代码如下; submitHandler: function (form) {
var str = "zhangsan";
$.ajax({
//要用post方式
type: "Post",
//方法所在页面和方法名
dataType: "text",
url: "/api/textRefresh/Get",
data: str,
success: function (data) {
if (data == true)
{
alert(1);
//form.submit(); // form validation success, call ajax form submit
}
}

});

}
后台api方法如下:
public class textRefreshController : ApiController
{
[HttpPost]
public bool Get(string username)
{
if (username != null)
{
return true;
}
else
{
return false;
}
}
}
运行的时候就提示:
{"Message":"找不到与请求 URI“http://localhost:1365/api/textRefresh/Get”匹配的 HTTP 资源。","MessageDetail":"在控制器“textRefresh”上找不到与该请求匹配的操作。"}
各位大神请问这个该怎么搞啊?我的ajax是写在bootstrap自带的login.js中的
...全文
680 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_25969659 2015-02-12
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
你写下你的route啊 默认的是只有id的,没有action的 然后你强行指定了post方式,然后你的username又没指定是frombody,所以你这个要通过querystring传递,即/api/textRefresh/Get?username=str 或者你在你的username前面增加[frombody]
大神,你说的按个route是什么啊?我之前没用过mvc,
  • 打赏
  • 举报
回复
你就直接在username前面加个frombody就可以了
jun471537173 2015-02-12
  • 打赏
  • 举报
回复
data: "username=" + str,
  • 打赏
  • 举报
回复
你写下你的route啊 默认的是只有id的,没有action的 然后你强行指定了post方式,然后你的username又没指定是frombody,所以你这个要通过querystring传递,即/api/textRefresh/Get?username=str 或者你在你的username前面增加[frombody]

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧