C# 使用MVC4作为Web服务

C# 使用MVC4作为Web服务,c#,jquery,json,web-services,asp.net-mvc-4,C#,Jquery,Json,Web Services,Asp.net Mvc 4,我现在正试图构建一个基于MVC4和使用HTML的客户端的web服务。问题是我的HTML文件被放在应用程序之外,而我的MVC服务正在Visual Studio IIS Express上运行。我不知道这是否导致了我的问题,或者是因为Web.config中缺少任何内容 以下是我的控制器中索引方法的代码: public ActionResult Index() { return Content("It works"); } 这是我在客户端的代码: $.ajax({ url: 'http

我现在正试图构建一个基于MVC4和使用HTML的客户端的web服务。问题是我的HTML文件被放在应用程序之外,而我的MVC服务正在Visual Studio IIS Express上运行。我不知道这是否导致了我的问题,或者是因为Web.config中缺少任何内容

以下是我的控制器中索引方法的代码:

public ActionResult Index() {
    return Content("It works");
}
这是我在客户端的代码:

$.ajax({
    url: 'http://localhost:54502/<MyControllerName>/Index',
    type: 'POST',
    datatype:"JSON",
    contentType:"application/json; charset=utf-8",
    success: function(data) {
        alert(data);
    },
    error: function(data) {
        alert("error");
    },
        complete: function(jqXHR,status) {          
    }
});
$.ajax({
网址:'http://localhost:54502//Index',
键入:“POST”,
数据类型:“JSON”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(数据){
警报(数据);
},
错误:函数(数据){
警报(“错误”);
},
完成:函数(jqXHR,状态){
}
});

问题是它总是警告“错误”,似乎什么都不起作用。任何帮助都将得到高度赞赏

内容未序列化为JSON。如果是HTML,它将是内容类型text/HTML,而不是application/json


我建议使用WebAPI或WCF的WebHttpBinding进行此操作。

内容未序列化为JSON。如果是HTML,它将是内容类型text/HTML,而不是application/json


我建议使用WebAPI或WCF的WebHttpBinding来解决这个问题。

我找到了我的解决方案,它与跨域问题有关。我使用WebAPI并使用NuGet安装CORS包,现在我甚至可以在本地主机域之外通过ajax调用访问web服务。

我找到了解决方案,它与跨域问题有关。我使用WebAPI并使用NuGet安装CORS包,现在我甚至可以在本地主机域之外通过ajax调用访问web服务。

您是否尝试导航到webbrowser中的URL?你看到了什么?它非常好,返回的字符串正好是“It works”。你是否尝试在webbrowser中导航到URL?您看到了什么?它非常好,返回的字符串“It works”完全正确。我的意图是使用Json格式,例如返回Json(新对象[]{“success”,returnObj},JsonRequestBehavior.AllowGet);但是它不起作用,所以我必须像上面那样编写简单的测试用例,而且它似乎也不起作用。如果您查看Fiddler2或其他工具中的响应,您将看到消息的内容类型为html。您应该考虑使用WebAPI构建的WebAPI,或者WCF的WebHutpBand,它可以自动将对象序列化为JSON或XML用于消费。没有办法用MVC 4编写Web服务吗?WebAPI是ASP.NET MVC 4的扩展。(). 不同的工具最好在不同的情况下使用。幸运的是,C#和ASP.NET为我们提供了选择。知道什么时候使用重要的东西。我找到了我的解决方案。感谢您的帮助,我将在下面更新我的答案。我的目的是使用Json格式,例如返回Json(新对象[]{“success”,returnObj},JsonRequestBehavior.AllowGet);但是它不起作用,所以我必须像上面那样编写简单的测试用例,而且它似乎也不起作用。如果您查看Fiddler2或其他工具中的响应,您将看到消息的内容类型为html。您应该考虑使用WebAPI构建的WebAPI,或者WCF的WebHutpBand,它可以自动将对象序列化为JSON或XML用于消费。没有办法用MVC 4编写Web服务吗?WebAPI是ASP.NET MVC 4的扩展。(). 不同的工具最好在不同的情况下使用。幸运的是,C#和ASP.NET为我们提供了选择。知道什么时候使用重要的东西。我找到了我的解决方案。我会在下面更新我的答案,谢谢你的帮助。