[英]Web Api Controller not hitting during post request
这是我的代码,我使用Jquery Ajax将数据从一页传递到另一页。 提供数据时没有命中。
$("#button").click(function () {
var test = $("#name").val();
var test1 = $("#username").val();
var test2 = $("#email").val();
var test3 = $("#pwd").val();
var data1 = {
name: test,
username: test1,
email: test2,
password:test3
}
alert("the value is" + test + "" + test1 + "" + test2 + "" + test3);
$.ajax({
type: 'POST',
url: 'http://localhost:54150/api/Login',
data:data1,
contentType: 'application/json;charset=utf-8',
success: function (result) {
alert('Data Saved Successfully');
},
error: function () {
alert("Bad...Really bad");
}
});
});
和我的控制器
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.UI.WebControls;
using AbiApp.Models;
namespace AbiApp.Controllers
{
public class LoginController : ApiController
{
String connStr = System.Configuration.ConfigurationManager.ConnectionStrings["CS"].ConnectionString;
[System.Web.Http.AcceptVerbs("GET", "POST")]
[System.Web.Http.HttpPost]
public void Post([FromBody]login loginmodel)
{
try
{
using (SqlConnection df = new SqlConnection(connStr))
{
using (SqlCommand de = new SqlCommand())
{
de.CommandType = System.Data.CommandType.StoredProcedure;
de.CommandText = "StoreImageDetails";
de.Connection = df;
de.Parameters.Add(new SqlParameter("@name", loginmodel.name));
de.Parameters.Add(new SqlParameter("@username", loginmodel.username));
de.Parameters.Add(new SqlParameter("@email", loginmodel.email));
de.Parameters.Add(new SqlParameter("@password", loginmodel.password));
df.Open();
var dt = de.ExecuteNonQuery();
}
}
}
catch (Exception ed)
{
//ed+Message;
}
}
}
}
从Jquery Ajax调用时没有命中请检查代码,并找到错误
您的路由似乎有问题。 您可以删除
[System.Web.Http.AcceptVerbs("GET", "POST")]
并如下使用属性路由
[Route("api/Login")]
public void Post([FromBody]login loginmodel)
{
try
{
using (SqlConnection df = new SqlConnection(connStr))
{
using (SqlCommand de = new SqlCommand())
{
de.CommandType = System.Data.CommandType.StoredProcedure;
de.CommandText = "StoreImageDetails";
de.Connection = df;
de.Parameters.Add(new SqlParameter("@name", loginmodel.name));
de.Parameters.Add(new SqlParameter("@username", loginmodel.username));
de.Parameters.Add(new SqlParameter("@email", loginmodel.email));
de.Parameters.Add(new SqlParameter("@password", loginmodel.password));
df.Open();
var dt = de.ExecuteNonQuery();
}
}
}
catch (Exception ed)
{
//ed+Message;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.