【问题标题】:Web API URL from a asp.net website来自 asp.net 网站的 Web API URL
【发布时间】:2018-01-29 22:12:14
【问题描述】:

我在 Web 窗体项目中有一个超链接,它的 href 设置为 Web api 调用。

http://www.domain1.com/form.aspx

<a href="http://www.domain2.com/somewhere/houston" target="_blank">Test</a>

“休斯顿”是参数。 单击链接时出现 404 错误。当我使用上面的链接调试我的 Web API 2 应用程序时,一切正常。但是 Web 表单应用程序似乎找不到它。我也试过:

<a href="http://www.domain2.com/somewhere?id=houston">Test</a>

我什至尝试过:

<a href="http://www.domain2.com/somewhere.aspx?id=houston">Test</a>

我在“domain2”上的项目在 MVC Web API 2 中。我做错了什么?我错过了一些东西。

我没有收到任何数据作为回报,也没有等待任何事件。它只是在一个新选项卡中打开,只需要参数并且什么都不返回到调用页面。是路由问题吗?蒂亚!

【问题讨论】:

  • 你的 webapi 方法是什么样的(带参数)?
  • 这不是关于 webforms 应用程序,而是关于你的 web api。您的路由是否理解“某处/休斯顿”?默认路由会将其发送到控制器“Somewhere”,动作“Houston”,你有吗?或者你有这个网址的特殊路线吗?
  • 您的 Web API 方法是否标有 [HttpPost]。请注意,超链接将发送 GET,而不是 POST 或其他动词。
  • 它用 GET 标记。至于路由,为什么我调试的时候在localhost能工作,否则不行。
  • @Andrei 感谢您为我指明路线。路径错了。我的大多数电话都下降了 2 级。但是这个特殊的电话是在同一级别。取出 ../../ 并添加控制器,它就可以工作了。谢谢!

标签: asp.net asp.net-mvc asp.net-web-api2


【解决方案1】:

在这种情况下,路线运行良好。服务器中缺少编译好的 dll,这就是它在本地工作的原因,但是当从另一个网站调用时,会弹出 404 错误。将 dll 复制到服务器上的正确文件夹后,一切正常。

【讨论】:

    猜你喜欢
    • 2011-02-09
    • 2018-11-13
    • 1970-01-01
    • 2018-04-28
    • 2020-01-13
    • 2016-07-02
    • 1970-01-01
    • 2011-08-23
    • 2018-08-08
    相关资源
    最近更新 更多