4

我通过c:\驱动器上的纯 html 文本文件发布到我的机器上运行的 mvc 网站:

<body>
<a id="testPost" href="./post_files/post.htm">test post</a>
<script type="text/javascript">

$("#testPost").click(function () {
    $.post("http://hml.backend/Helix/Authorisation", 
    {
        ClientIP: "192.168.20.34"
    }, function (resultData) {
        alert(resultData);
    });

    return false;
});

控制器是这样设置的:

[HttpPost]
public ActionResult Authorisation(string ClientIP)
{
    string result = _videoSecurityService.CheckHelixAuthorisation(ClientIP);
    return Content(result);
}

控制器事件在调试中被击中,没有例外,但 Chrome 说

调试窗口中的“POST:已取消”

任何想法为什么?

4

1 回答 1

2

这是一个跨域调用,在许多浏览器中是不允许的,因为它可能存在安全风险。您可以尝试在服务器端重定向您的呼叫。(调用您自己的应用程序并处理对那里其他网站的请求响应)

于 2013-02-01T13:31:01.433 回答