0

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

这是我的控制器中的 Index 方法代码:

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) {          
    }
});

问题是它总是提醒“错误”并且似乎没有任何效果。任何帮助都会受到高度评价!

4

2 回答 2

2

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

我建议为此使用 WebAPI 或 WCF 的 WebHttpBinding。

于 2013-09-02T15:44:12.410 回答
1

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

于 2013-09-06T10:19:14.443 回答