gpt4 book ai didi

javascript - 内部问号或 angularjs 的 url 出现问题

转载 作者:行者123 更新时间:2023-12-03 08:24:14 26 4
gpt4 key购买 nike

在允许用户查看帖子名称中包含问号或多个问号的帖子时,我遇到了一些问题。当访问 mysite.com/posts/user/postname url 时,Angular 会拾取 :user 和 :postName 并检索必要的数据,但如果 :postName 包含一个或多个问号,则似乎会破坏路由并且页面可以找不到该帖子,因为它与实际帖子名称和问号不匹配。但是,如果我输入带有问号 %3f 的 ascii 版本的帖子名,它就会工作并显示正确的数据。

我要么想重写 url 来替换?使用 %3f 或修复我的 Angular 脚本。路线如下所示,下面列出了 Controller 的相关部分。

.when('/posts/:postUser/:postName', {
title: 'View Post',
templateUrl: 'posts/view-post.php',
controller: 'userSingleCtrl',
resolve: {
post: function(services, $route) {
var postName = $route.current.params.postName;
var postUser = $route.current.params.postUser;
return services.getUserSingle(postName, postUser);
return services.getComments(postName, postUser);
}
}
})

Controller :

var postName = ($routeParams.postName) ? $routeParams.postName : 'Doesnt Exist';
var postUser = ($routeParams.postUser) ? $routeParams.postUser : 'Doesnt Exist';
var original = post.data;
original._name = postName;
original._user = postUser;
$scope.post = angular.copy(original);
$scope.post._name = postName;
$scope.post._user = postUser;

以防万一当前的 htaccess 规则导致此问题,而不是实际上 Angular ,这也是我的 htaccess 。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)$ /#/$1 [L,QSA]

<IfModule mod_expires.c>
ExpiresActive off
ExpiresByType text/html "access 1 month"
ExpiresByType text/css "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType text/javascript "access 1 month"
ExpiresByType text/plain "access 1 month"
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresDefault "access 2 days"
</IfModule>

<IfModule mod_deflate.c>
<FilesMatch "\.(html|php|txt|xml|js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>

最佳答案

以下链接显示了使用 Angular 过滤器应用 uri 编码的示例。您可能可以做同样的事情,生成帖子链接来编码 ? (和其他字符)到有效的 uri 中。

How to generate url encoded anchor links with AngularJS?

关于javascript - 内部问号或 angularjs 的 url 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33620870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com