相关疑难解决方法(0)

我可以在服务器端应用程序(PHP,Ruby,Python等)上读取URL的哈希部分吗?

假设URL为:

www.example.com/?val=1#part2
Run Code Online (Sandbox Code Playgroud)

PHP可以val1使用GET数组读取请求变量.

哈希值是否part2也可读?或者这只是浏览器和JavaScript?

language-agnostic url http uri-fragment web

212
推荐指数
7
解决办法
21万
查看次数

在express.js中间件请求中获取"#"之后的url

我需要在服务器中间件上获取URL(使用express.js).我使用req.url但是当url从/#some/urlreq.url 开始返回时/...

req.path... 相同

有没有办法#在express.js 之后获取网址?

javascript url hash request express

21
推荐指数
1
解决办法
1万
查看次数

AJAXify网站

我有合理的理由去做我想解释的事情.我有一个现有网站说abc.com有常规页面等等所有用PHP编写的.现在我想对网站进行AJAX化,即当用户点击链接时,它应该使用AJAX获取链接并替换页面内容.这是简单的部分,我可以使用jQuery get函数实现它.

现在问题出现在用户为页面添加书签时.我可以使用哈希标记来指定用户是否在另一个页面上,但是不是使用javascript再次获取新页面,是否可以在调用页面时使用PHP直接获取它.

能否请您给我一个如何实现上述目标的大纲.此功能类似于Facebook.

感谢您的时间.

javascript php ajax jquery graceful-degradation

13
推荐指数
1
解决办法
2008
查看次数

从URI获取锚点

我正在编写JSP/Servlet,我正在尝试获取URI的锚点部分,例如:

blabla.rdf#mark
Run Code Online (Sandbox Code Playgroud)

如何从我的请求中获得我的标记?显然request.getParameter()不起作用?

欢迎任何帮助.

java anchor jsp servlets

11
推荐指数
1
解决办法
7721
查看次数

登录后重定向到包含#(哈希)符号的页面

我正在使用Spring Security,并想知道如果该页面包含#(哈希)符号,如何在成功登录到源页面后实现重定向.

现在我使用always-use-default-target="false"它在URL类型的工作正常:/path/to/page/.

但是当URL变为#/path/to/page它时,它不会进行任何重定向.

有没有办法解决它?

spring spring-mvc spring-security

10
推荐指数
1
解决办法
5031
查看次数

在服务器端使用url hash获取当前页面的完整URL

我无法得到我正在处理的页面的完整网址.这是我想要获取的网址http://localhost:54570/Shipment/ShipmentDetails.aspx?HawbBLNo=NEC00000004#BFT结果仅适用http://local/Shipment/ShipmentDetails.aspx?HawbBLNo=NEC00000004于此代码

protected void btnSave_Click(object sender, EventArgs e)
{
    url = HttpContext.Current.Request.Url.AbsoluteUri;
    UpdateDetails();
    Response.Redirect(url);
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net url

9
推荐指数
1
解决办法
2万
查看次数

web.xml和/或过滤器返回welcome-file

我需要为特定功能配置我的Tomcat WAR,并且不确定它是否可以通过实现web.xml,或者我是否需要实现1+自定义Filter,或使用其他类型的hackery.

我的应用程序打包为myapp.war.因此,当它从本地Tomcat实例提供时,我可以通过访问它来访问它http://localhost:8080/myapp.

很简单,如果Tomcat收到以下请求,我有一个welcome-file(myapp.html)我希望服务:

  • 本地主机:8080/MYAPP
  • 本地主机:8080/MyApp的/
  • 本地主机:8080/MyApp的/#
  • 本地主机:8080/MyApp的/#<嗒嗒>

...在<blah>井号(#)之后的任何字符串/正则表达式中.

因此,如果用户前往http://localhost:8080/myapp,则返回myapp.html.如果用户去http://localhost:8080/myapp/#fjrifjri,那猜猜是什么?服回来myapp.html.

但是,如果用户去,比方说,http://localhost:8080/myapp/fizz那么我想要正常的web.xml servlet-mapping逻辑,我希望Tomcat服务于任何servlet映射到的/fizz等等.

目前我web.xml看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        version="2.5"
        xmlns="http://java.sun.com/xml/ns/javaee">
    <welcome-file-list>
        <welcome-file>myapp.html</welcome-file>
    </welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?

java tomcat web.xml servlets servlet-filters

7
推荐指数
1
解决办法
4661
查看次数

使用不同主页在单页应用程序中进行路由

我有一个单页面应用程序 - 这意味着服务器上的所有内容都被重定向到一个index.html文件,该文件使用HTML5历史记录api()完成.

现在,我想在旁边添加一个新的登陆页面 - 让我们调用它landing.html,我希望客户端landing.html在访问时首先访问它们/以及index.html是否访问任何其他路由.

现在,IE9不支持HTML5历史API,因此,使用"哈希的URL"路径一样/books/authors成为/#!/books/authors它.由于URL的散列部分没有发送到服务器,只要涉及服务器,所有路径都/意味着我无法路由到landing.htmlindex.html基于该逻辑.

我想过一个黑客-用重定向的URL /landing.html,检测#!客户端,服务器(或客户)呼吁增加一个cookie notReallyHomePage和基于服务器上的Cookie重定向到正确的页面.这真是太烂了,不是一个好的解决方案.

在这种情况下,处理路由的正确方法是什么?

我的后端是在ASP.NET MVC中,但我认为这与问题无关

javascript html5 routing hashchange pushstate

5
推荐指数
1
解决办法
271
查看次数

传递带有哈希值的URL以进行重定向

可能重复:
如何从服务器端获取Url Hash(#)

我在从变量中获取哈希值时遇到了一些麻烦.

我正在使用默认操作 AccountController

[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl) { ... }
Run Code Online (Sandbox Code Playgroud)

但如果我通过此链接:

http://localhost:1357/none/Account/LogOn?returnUrl=a/b/c#day-22
Run Code Online (Sandbox Code Playgroud)

我永远无法抓住#day-22价值

下面是登录后的断点:

在此输入图像描述

我从来没有得到HttpContext.Request.Url对象的哈希值.

如何使用哈希部分将用户转发到正确的URL ?

c# asp.net-mvc-3

3
推荐指数
1
解决办法
4305
查看次数

在 python 请求中处理井号 (#)

我正在使用请求来编译自定义 URL,并且一个参数包含一个井号。谁能解释如何在不编码井号的情况下传递参数?

这将返回正确的 CSV 文件

results_url = 'https://baseballsavant.mlb.com/statcast_search/csv?all=true&hfPT=&hfAB=&hfBBT=&hfPR=&hfZ=&stadium=&hfBBL=&hfNewZones=&hfGT=R%7C&hfC=&hfSea=2019%7C&hfSit=&player_type=batter&hfOuts=&opponent=&pitcher_throws=&batter_stands=&hfSA=&game_date_gt=&game_date_lt=&hfInfield=&team=&position=&hfOutfield=&hfRO=&home_road=&hfFlag=&hfPull=&metric_1=&hfInn=&min_pitches=0&min_results=0&group_by=name&sort_col=pitches&player_event_sort=h_launch_speed&sort_order=desc&min_abs=0&type=#results'
results = requests.get(results_url, timeout=30).content
results_df = pd.read_csv(io.StringIO(results.decode('utf-8')))
Run Code Online (Sandbox Code Playgroud)

这不

URL = 'https://baseballsavant.mlb.com/statcast_search/csv?'

def _get_statcast(params):

     _get = get(URL, params=params, timeout=30)
     _get.raise_for_status()
     return _get.content
Run Code Online (Sandbox Code Playgroud)

问题似乎是,当通过请求传递 '#results' 时,'#' 被忽略后会导致下载错误的 CSV。如果有人对解决此问题的其他方式有任何想法,我将不胜感激。

EDIT2:也在python论坛上问过这个https://python-forum.io/Thread-Handling-pound-sign-within-custom-URL?pid=75946#pid75946

python python-requests

1
推荐指数
1
解决办法
1759
查看次数