我已按照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/