Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对c#api控制器的jquery调用_Javascript_C#_Jquery_Api_Call - Fatal编程技术网

Javascript 对c#api控制器的jquery调用

Javascript 对c#api控制器的jquery调用,javascript,c#,jquery,api,call,Javascript,C#,Jquery,Api,Call,我已经开始了一些基于ASP:NETMVC和javaScript/jquery的项目。我正在尝试使用$.ajax函数对我的控制器进行api调用。但我总是得到404。我在谷歌上搜索并尝试了很多不同的解决方案,但我还是得到了404。我知道这个问题经常在网上被问到,但我还是希望不会有太多的-1。如果有人能帮我,我会非常感激,也许因为森林的缘故我看不见这棵树。 参数“datas”是JSON格式的唯一字符串 我的代码如下 javascript调用: function checkValidId(datas)

我已经开始了一些基于ASP:NETMVC和javaScript/jquery的项目。我正在尝试使用$.ajax函数对我的控制器进行api调用。但我总是得到404。我在谷歌上搜索并尝试了很多不同的解决方案,但我还是得到了404。我知道这个问题经常在网上被问到,但我还是希望不会有太多的-1。如果有人能帮我,我会非常感激,也许因为森林的缘故我看不见这棵树。 参数“datas”是JSON格式的唯一字符串

我的代码如下

javascript调用:

function checkValidId(datas) {
    $.ajax({
        url: 'api/UserInfo/Test/',
        type: 'POST',        
        data: JSON.stringify(datas),
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function (valid) {
            if (valid) {
                console.log("HURAAAAY!!!");
            } else {
                console.log("OOOH NO YOU DON'T !!!");
            }
        }
    });
}
我的控制器:

public class UserInfoController : ApiController
    {
        private DM_DBEntities1 db = new DM_DBEntities1();

        [HttpPost]
        public static string Test(string data)
        {          
            return "H E L L L L O";
        }    
    }
我的网站配置:

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }

您配置的路由错误

将其更改为:

config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{action}"
);

在UserInfoController中,您的测试方法是否需要返回ActionResult,而不管您是否返回要识别为action方法的内容