从Web角色发布到另一个Web角色Windows Azure

时间:2013-08-28 08:58:09

标签: azure azure-web-roles

我目前在我的解决方案中有两个Web角色,一个用于主Web应用程序,另一个用于Web应用程序和移动应用程序的API。

它们彼此独立工作,但我很难将数据从Web应用程序角色中的视图发布到API角色中的API控制器。

这是API控制器中的方法:

public void Post([FromBody]string value)
{
    var post = (Post)JsonConvert.DeserializeObject(value, typeof(Post));
    AddPost(post);
}

以下是我试图发布的视图中的JavaScript:

<script>
    $(function () {
        var onPost = function () {
            $.post("http://localhost:8081/api/Post",
                {
                    "value": $('#postForm').serialize()
                }
            ).success(function () {
                alert("SUCCESS");
            }).fail(function () {
                alert("FAILURE");
            });
        };
    });
</script>

编辑:

我没有收到错误,也没有调用任何警报函数。但是,在单击触发此事件的按钮时,URL将更改为包括已序列化的表单的条目。

1 个答案:

答案 0 :(得分:0)

最好从服务器端进行API调用,例如Web应用程序中的MVC控制器。您可以包含安全密钥以及您不希望向其他人公开的其他内容。当您直接从javascript为另一个子域或URL进行API调用时,您将创建跨域ajax请求。

在您的javascript中,您将在网络应用中对控制器操作进行ajax调用。 Web应用程序将调用它正在与之交谈的任何服务。

您还可以使用POSt / GEt / PUt / DELETE请求从fiddler测试您的API。

如果要直接从不同子域下的javascript和主机Web角色调用,则需要发出CORS请求:http://www.html5rocks.com/en/tutorials/cors/。您还可以查看以下相关问题:Running WebApi alongside MVC project in Azure