首页 > 解决方案 > 从 js ajax 调用 WebApi 控制器的问题

问题描述

在我的 ASP.NET MVC 应用程序中,我在通过 ajax 语句调用 WebAPI 控制器时遇到问题。

这是我的代码:

    $.ajax({
        url: 'api/cartitems',
        type: self.cartItem.id == null ? 'post' : 'put',
        contentType: 'application/json',
        data: ko.toJSON(data)
    })
    .done(self.successfulSave)
    .fail(self.errorSave)

它会产生错误 404 - 找不到文件。

我测试了不同的可能性,只有一种可行的是使用整个 URL 路径。

    $.ajax({
        url: 'http://xx.yyy.zz.vvv/APP_NAME/api/cartitems',
        type: self.cartItem.id == null ? 'post' : 'put',
        contentType: 'application/json',
        data: ko.toJSON(data)
    })
    .done(self.successfulSave)
    .fail(self.errorSave)

是否可以不使用完整路径?

标签: c#ajaxasp.net-mvcasp.net-web-api

解决方案


我想知道 ASP.NET MVC 配置中是否有错误。在开发人员环境中,它使用 ajax 调用中的简化 URL。而且我不敢相信微软会强迫开发人员在每个生产系统上调整 URL 地址。


推荐阅读