Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs:在url上使用查询字符串而不使用尾随斜杠时出现问题_Angularjs_Asp.net Mvc_Angular Ui Router_Query String - Fatal编程技术网

Angularjs:在url上使用查询字符串而不使用尾随斜杠时出现问题

Angularjs:在url上使用查询字符串而不使用尾随斜杠时出现问题,angularjs,asp.net-mvc,angular-ui-router,query-string,Angularjs,Asp.net Mvc,Angular Ui Router,Query String,在asp.net mvc站点中使用Angular 1.5 我有一个基本标签: <base href="/fr/"> HTML5模式被设置 这个网站运行得很好。我使用ui路由器。。。没有问题。 但今天我找到了一个,这是我尝试浏览这种url的时候: 我从角度上得到一个错误: url未定义 如果导航到/fr/?arg=1(带尾随斜杠),错误将消失。 如果导航到/fr/about/?arg=1,它将导航到索引页,但不会触发“about”状态 如何让查询字符串工作 更新: 按照@miq

在asp.net mvc站点中使用Angular 1.5

我有一个基本标签:

<base href="/fr/">

HTML5模式被设置

这个网站运行得很好。我使用ui路由器。。。没有问题。 但今天我找到了一个,这是我尝试浏览这种url的时候:

我从角度上得到一个错误:

url未定义

如果导航到/fr/?arg=1(带尾随斜杠),错误将消失。
如果导航到/fr/about/?arg=1,它将导航到索引页,但不会触发“about”状态

如何让查询字符串工作

更新:
按照@miqid的建议,将strictMode设置为false,修复了此url/fr/about/?arg=1的问题,但没有修复base/fr?arg=1的问题。故事的结尾是angularjs团队不会更改当前代码来处理此场景。他们更喜欢依赖web服务器url重写功能(在查询字符串之前添加缺少的尾随斜杠)。他们的文档会相应地更新


故事的结尾是angularjs团队不会更改当前代码来处理此场景。他们更喜欢依赖web服务器url重写功能(在查询字符串之前添加缺少的尾随斜杠)。他们的文档会相应地更新


接受一个名为的参数,该参数允许您在涉及尾部斜杠时自定义URL匹配的行为。您可以将其用作状态的
url
属性,这样就不需要带有查询字符串的斜杠。@miqid谢谢。不幸的是,我的开发机器今天陷入困境,我将不得不重新安装很多东西。只要我能测试你的提议,我会尽快回来的。@miqid好的,我能测试。我尝试调用$URLMacherFactoryProvider.strictMode(false);在定义状态之前,它没有改变任何东西。你是说别的吗?我应该如何配置UrlMatcher?请写一个完整的答案。在没有看到更多的设置背景的情况下,我没有什么其他的建议,因为问题实际上可能是其他的。然而,我写了一个基本的Plunker,它演示了
strictMode
的效果,以及捕获带有或不带有尾部斜杠的路由。一定要看一看——谢谢。我试过你的枪。这与我的问题恰恰相反。我对尾部斜杠没有问题。如果我移除它时遇到问题。还要注意的是,我的问题只出现在基本url上(我不知道为什么我创建这篇文章时它不起作用,但今天它起作用了)。因此,唯一的办法就是不起作用。您的plunker没有显示这一点,我无法成功使它与状态“/”一起工作。最后,请注意,只有在地址栏中键入url时才会出现问题。创建href=“?arg=1”有效,并创建一个带有尾随斜杠的url。接受一个名为的参数,该参数允许您在涉及尾部斜杠时自定义URL匹配的行为。您可以将其用作状态的
url
属性,这样就不需要带有查询字符串的斜杠。@miqid谢谢。不幸的是,我的开发机器今天陷入困境,我将不得不重新安装很多东西。只要我能测试你的提议,我会尽快回来的。@miqid好的,我能测试。我尝试调用$URLMacherFactoryProvider.strictMode(false);在定义状态之前,它没有改变任何东西。你是说别的吗?我应该如何配置UrlMatcher?请写一个完整的答案。在没有看到更多的设置背景的情况下,我没有什么其他的建议,因为问题实际上可能是其他的。然而,我写了一个基本的Plunker,它演示了
strictMode
的效果,以及捕获带有或不带有尾部斜杠的路由。一定要看一看——谢谢。我试过你的枪。这与我的问题恰恰相反。我对尾部斜杠没有问题。如果我移除它时遇到问题。还要注意的是,我的问题只出现在基本url上(我不知道为什么我创建这篇文章时它不起作用,但今天它起作用了)。因此,唯一的办法就是不起作用。您的plunker没有显示这一点,我无法成功使它与状态“/”一起工作。最后,请注意,只有在地址栏中键入url时才会出现问题。创建href=“?arg=1”有效,并创建一个带有尾随斜杠的url。