gpt4 book ai didi

javascript - 发布到相对 url

转载 作者:行者123 更新时间:2023-11-30 05:57:43 26 4
gpt4 key购买 nike

我需要 jQuery 发布到一个相对 url(目前它发布到根目录)。

结构:

  1. 网站网址:localhost/myApp
  2. 表单 url:帐户/登录
  3. 实际服务器 url:localhost/myApp/Account/Login <- 这里需要它
  4. 发布到 url:localhost/Account/Login

表格:

<form id="login" action="Account/Login" method="POST">
</form>

jQuery:

$.post($el.find('form').attr("action"), $el.find('form').serialize(), function(resp) {
});

我需要能够将这个应用放在任何 URL 中并且它可以工作,所以如果它托管在 www.site.com/dir1/dir2/,那么它应该发布到 www.site.com/dir1/dir2/Account/Login

请注意,这是一个单页应用程序。所以表单位于 localhost/myApp

标题信息:

Request URL:http://localhost/Account/Login
Request Method:POST
Status Code:404 Not Found
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Connection:keep-alive
Content-Length:19
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Host:localhost
Origin:http://localhost
Referer:http://localhost/myApp
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5
X-Requested-With:XMLHttpRequest

最佳答案

Request URL:http://localhost/Account/Login
Request Method:POST
Status Code:404 Not Found
Request Headersview source
...
...
Referer:http://localhost/myApp

虽然您正在加载/myApp,但很明显正在发生某种形式的重定向,将客户端丢弃在根目录/路径:

因此,在您的操作中,将以下内容添加到操作属性中:

<form action="/myApp/Account/Login">

顺便说一句,您有一个 301/302 重定向将 URL 重写为 http://localhost ,或者你不是真的在访问 http://localhost/myApp ,或者你可能有一个 <base>导致您的相对 URL 被丢弃的 HTML 元素。在没有看到所有 HTML 的情况下,很难确定,但更改操作中的路径会将您的表单连接到服务器。

如果您的应用程序的根因平台而异,请考虑使用 <base> HTML 元素以避免需要更改所有 URLS。与 <base> ,您只需在 HTML 中的 1 个位置进行更改。

<!-- relative urls start from /myApp -->
<base target="_blank" href="http://localhost/myApp/">

有关更多信息,请参阅 base HTML element 上的 Mozilla 开发人员中心文章:

href

  • The base URL to be used throughout the document for relative URL addresses.
  • If this attribute is specified, this element must come before any other elements with attributes whose values are URLs.
  • Absolute and relative URIs are allowed (but see note section below).

此外,虽然来自 W3School 的信息应该经过一些审查来消化,但我在 the base HTML element here 上列出了该页面,仅仅是因为他们有比 MDC 更好的例子:

<head>
<base href="http://www.w3schools.com/images/" target="_blank" />
</head>

<body>
<img src="stickman.gif" />
<a href="http://www.w3schools.com">W3Schools</a>
</body>

这是 obligatory W3Fools link .

注意:基本元素必须位于引用由基本元素修改的 URL 的任何其他元素之前。

关于javascript - 发布到相对 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10769680/

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