请求的脚本网址错误

wdavo

我正在使用自托管/ OWIN和Razor视图引擎运行Nancy

特别:

Nancy 0.21.1
Nancy.ViewEngines.Razor 0.21.1
Microsoft Owin.SelfHost 2.0.1

我有一个带有以下脚本参考的html页面

<script src="Scripts/jquery-1.6.4.min.js"></script>

如果我提出以下要求(请注意斜杠)

http://localhost:3456/log/

正确返回了html页面,并发出了以下脚本请求

http://localhost:3456/log/Scripts/jquery-1.6.4.min.js

这是正确的行为。

如果我随后提出此请求(请注意,没有斜杠)

http://localhost:3456/log

正确返回了html页面,但是提出了不同的脚本请求。

http://localhost:3456/Scripts/jquery-1.6.4.min.js

这失败,因为它是错误的URL。脚本必须在/ log下

Nancy允许您在处理URL之前先对其进行更改,因此,我尝试过添加尾部的斜杠(如果缺少的话),但这并不会改变任何内容(无论如何似乎都是hack)

最好我想让它工作而不必担心斜杠。失败了,我想我需要一种方法来修改初始响应,以便返回带有斜杠的http Referrer标头?不过,如何执行此操作并不明显。

注意:我的设置不是Nancy的标准设置。有一些自定义静态内容约定和视图位置约定,用于使它按我希望的方式工作。一切正常,除非缺少尾部斜杠。

这个线程似乎在谈论同样的问题,但对于ASP.NET

http://forums.asp.net/t/1897093.aspx?Trailing+Slash+Nightmare

更新1

如@AndreD所建议,使用

/log/Scripts/jquery-1.6.4.min.js

在两种情况下都可以使用,但是“ log”是变量前缀,不能进行硬编码。可以使用html helper,这是我目前正在寻找的解决问题的方法

wdavo

因此,解决方案是创建一个可创建正确脚本路径的助手。

/log/Scripts/jquery-1.6.4.min.js

助手类扩展

*SomeNamespace*

public static class UrlHelpers
{
  public static string Script<TModel>(this Nancy.ViewEngines.Razor.UrlHelpers<TModel> Self,     string Script)
  {
    var rootPath = Self.RenderContext.Context.Request.Path.TrimEnd('/');
    var scriptPath = string.Format("{0}/Scripts/{1}", rootPath, Script);
    return scriptPath;
   }
}

视图:

@using SomeNamespace
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase
  ...
  ...

  <script [email protected]("jquery-1.6.4.min.js")></script>
  <script [email protected]("jquery.signalR-2.0.0.min.js")></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

请求的脚本网址错误

来自分类Dev

避免由于相对网址而导致的错误请求

来自分类Dev

Python请求包脚本错误

来自分类Dev

scrapy错误:exceptions.ValueError:请求网址中缺少方案:

来自分类Dev

405错误:请求的网址不允许使用该方法

来自分类Dev

如何找出请求到达错误处理程序的网址?

来自分类Dev

错误的请求400-有效网址上的协议错误-Webclient

来自分类Dev

Tomcat请求网址

来自分类Dev

角度解码请求网址

来自分类Dev

请求网址太长

来自分类Dev

更改网址的脚本

来自分类Dev

MPMoviePlayerController错误的网址错误

来自分类Dev

用户脚本AJAX请求给出JSON-RPC错误-32700

来自分类Dev

向PHP脚本发送请求时出现错误的符号

来自分类Dev

如何理解elasticsearch请求脚本的错误信息?

来自分类Dev

向PHP脚本发送请求时出现错误的符号

来自分类Dev

Asp.net MVC-从请求的网址获取调整大小的图片会出现404错误

来自分类Dev

接收到404错误,因为npm install的请求网址是随机添加单词“ clear”

来自分类Dev

在IFRAME沙盒模式下的Google App脚本中获取错误的网址

来自分类Dev

Lua脚本-脚本请求

来自分类Dev

AJAX请求网址与预期不符

来自分类Dev

请求网址中缺少方案

来自分类Dev

获取烧瓶请求的引荐网址

来自分类Dev

自定义请求网址

来自分类Dev

MVC 5请求域网址

来自分类Dev

获取带有[]的网址请求

来自分类Dev

直接提交表单以请求网址

来自分类Dev

自定义请求网址

来自分类Dev

MVC 5请求域网址