Http POST方法有时会转到test.com而不是localhost

时间:2016-04-24 17:36:07

标签: c# asp.net post

我遇到了一种非常奇怪的行为。我正在做一个简单的ASP .NET应用程序,它将文件上传到服务器。 我有一个简单的形式:

<form class="form-horizontal" method="post" enctype="multipart/form-data">
 <div class="form-group">
                <label for="files" class="col-md-3 col-sm-4 control-label">Bestand *</label>
                <div class="col-md-9 col-sm-8" ">
                    <input name="file" type="file" id="file" required />
                <span >@ViewBag.TheMessage</span>
                </div>
            </div>
            <div class="form-group">
                <div class="col-md-9 col-sm-8 col-md-push-3 col-sm-push-4">
                    <input type="submit" class="btn btn-primary" value="Versturen" />
                </div>
   </div>
</form>

POST发生了奇怪的事情,这次POST的10次中有9次发送到test.com而不是localhost。我用萤火虫闻了闻来发现这个。萤火虫看起来像这样: enter image description here

Controller.cs看起来像这样,当到达帖子时它正常工作:

[HttpPost]
    public ActionResult Index(HttpPostedFileBase file)
    {
        ViewBag.TheMessage = "Thanks, an e-mail will be sent shortly";

        if (file.ContentLength > 0)
        {
            ViewBag.Message = "Your application description page.";
            var fileName = Path.GetFileName(file.FileName);
            var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
            file.SaveAs(path);
        }

        return View();
    }

另一个奇怪的事情是,如果我只使用空格式的cshtml文件:

<form method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" />
<input type="submit"/>

POST每次都很好。 感谢。

1 个答案:

答案 0 :(得分:3)

检查您是否有任何更改表单操作属性的Javascript。我将首先查看onload,onsubmit或提交按钮onclick方法。如果您正在使用jquery,请务必检查您的$(document).ready ()功能。这真的可以在你的js中的任何地方,所以确保你到处寻找。

另一个罪魁祸首可能是你的html中有一个类似于<base href="http:www.test.com />的基本标记,它会改变你所有的相对网址去基础位置