区块链技术博客
www.b2bchain.cn

Javascript Ajax调用无法访问我的Web API控制器页面。似乎无法正确获得网址 – c#程序员分享

D0b2wT.gif

本文介绍了Javascript Ajax调用无法访问我的Web API控制器页面。似乎无法正确获得网址 – c#程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

我有一个注册页面,我试图将输入字段保存到Users表中的新记录中。

 <button class="btn-u" type="submit"   onclick="submitclicked()">Register</button> 

点击被拾起,我可以在我的.js上找到断点

function submitclicked() {     insertNewUser();      ko.applyBindings({ insertNewUser: insertNewUser }); };  function Person() {     this.FirstName = firstname();     this.LastName = lastname();     this.Email = email();     this.Password = password(); }  var insertNewUser = function () {      var person = new Person();     var url = "/api/Home/addUser"     $.ajax({         url: url,         type: 'post',         data: person,         contentType: "application/json; charset=utf-8",         success: function (result) {         }     }) }; 

我的RegController.cs文件中也有一个断点,但是它从未被命中。这使我相信它永远不会进入我的控制器。我的控制器如下所示:

public class RegController : ApiController {    //now insert  these values into the DB     private static void addUser(Person item)     {         var db = new MyEntities();          try         {             User record = new User()             {                  First_Name = item.FirstName,                 Last_Name = item.LastName,                 Email = item.Email,                 Password = item.Password             };             db.User.Add(record);             db.SaveChanges();         }         catch (Exception ex)         {             Console.WriteLine(ex.InnerException);         }     }      public class Person     {         public string FirstName { get; set; }         public string LastName { get; set; }         public string Email { get; set; }         public string Password { get; set; }     }  } 

在解决方案资源管理器中,它进入RegController.cs> RegController> Person> addUser(Person):无效。

我已经尝试过我能想到的针对ajax url的所有其他选项,但均未成功。有人可以告诉我我做错了什么吗?

编辑:添加RouteConfig

        public static void RegisterRoutes(RouteCollection routes)     {         routes.IgnoreRoute("{resource}.axd/{*pathInfo}");          routes.MapRoute(             name: "Default",             url: "{controller}/{action}/{id}",             defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }         );     } 

参考方案

有几个问题:

控制器中的动作是静态的。
控制器中的操作是私有的而不是公开的。
您使用的路由指向错误的端点(使用路由调试器或API帮助来查看正确的端点)。

需要考虑的一些更新:

public class RegController : ApiController {    //now insert  these values into the DB     public void addUser(Person item)     {             ...      }      public class Person    {         public string FirstName { get; set; }         public string LastName { get; set; }         public string Email { get; set; }         public string Password { get; set; }     }  } 

对于jquery请求:

var insertNewUser = function () {      var person = new Person();     var url = "/api/Reg"     $.ajax({         url: url,        type: 'post',         data: person,         contentType: "application/json; charset=utf-8",         success: function (result) {         }     }) }; 

假设这是一个普通的Web api v2应用程序,如果您运行Web应用程序并单击API链接,它将向您显示如何配置路由。

旁注:在调试Web api以利用以下程序包时,我发现它很有用:

Install-Package WebApiRouteDebugger 

Javascript-从当前网址中删除查询字符串 – javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

Mongo汇总 – javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": &#03…

重复使用Google Api Bearer令牌来访问用户的云端硬盘 – javascript

我有以下几点: gapi.auth.authorize( { client_id: CLIENT_ID, scope: SCOPES, immediate: false }, handleAuthResult); 这使我可以访问access_token:目标是使该应用程序的用户可以授予对我的应用程序的访问权限,以使用其Google驱动器存储其内容。我需要能够…

JavaScript中的字符串评估函数 – javascript

            JavaScript中是否有任何内置函数,例如Python中的eval内置函数?注意:eval函数将方程式作为字符串并返回结果。例如,假设变量x为2,则eval("2x+5")返回9。 参考方案 是的,JavaScript中也有eval函数。此外,该声明应有效用于评估,即eval("2*x+5"…

如何在JQuery中操作JSONArray – javascript

我有一个php函数,它以JSON返回此代码{"0":{"title":"Dans lu2019appartement"},"1":{"title":"A lu2019au00e9roport – Du00e9part de Bu00e9at…

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Javascript Ajax调用无法访问我的Web API控制器页面。似乎无法正确获得网址 – c#程序员分享
分享到: 更多 (0)
D0b2wT.gif

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们