我已按照this article将Web服务添加到我的Office 365加载项。但是,当我执行发送请求的ajax脚本时,它总是以.fail语句结尾。我看不到程序在控制器类或Global.asax或webApiConfig类中甚至执行了一行。

这是我的javasript代码段

function GetStyles(ooxml) {
    var data = {
        xml: ooxml
    };
    $.ajax({
        url: 'api/GetStyles',
        type: 'GET',
        data: data,
        contentType: 'application/json;charset=utf-8'
    }).done(function (data) {
        showNotification(data.Status, data.Message);
    }).fail(function (status) {
        showNotification('Error', 'Could not communicate with the server.');
    }).always(function () {
        // $('.disable-while-sending').prop('disabled', false);
    });
}


这是控制器类

public class WriterController : ApiController
{
    public class FeedbackRequest
    {
        public string xml;
    }

    public class FeedBackResponse
    {
        public string status;
        public string message;
    }

    [HttpGet()]
    public FeedBackResponse GetStyles(FeedbackRequest request)
    {
        try
        {
            return new FeedBackResponse
            {
                status = "success",
                message = "success success",
            };
        }
        catch (Exception e)
        {
            return new FeedBackResponse
            {
                status = "error",
                message = "error error",
            };
        }
    }
}


有人可以帮我解决这个问题吗?

最佳答案

只需看一下代码,就不会出现明显的错误。但是,我可以为您提供一些调试建议。

首先,尝试在Office加载项的上下文之外进行调试。没有关于它的“附加”项。因此,只需在Internet Explorer中启动html页面,或者更好的是,使用Fiddler发出请求。结果应阐明外接程序中发生了什么问题。

关于javascript - 使用ASP.NET Web API为Office加载项添加Web服务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39714591/

10-11 03:04