当我将表单发布到URL时为什么会得到404但是如果我使用window.location去那里则不会?

时间:2014-09-13 00:39:31

标签: javascript html html5 wordpress dom

如果我使用表单发布到网址(将其更改为https),我会收到404错误(尽管地址栏显示正确的地址):

//This ends up at a 404 page (BUT showing the correct address in the address bar)
form.setAttribute( "action", window.location.href.replace( "http:", "https:" ) );
form.submit();

如果我改为使用window.location,它会正确显示页面:

//This shows the page correctly
window.location = window.location.href.replace( "http:", "https:" );

即使将表单更改为method="GET",也会导致404错误

为什么第一个导致404错误?

2 个答案:

答案 0 :(得分:0)

首先,您要将表单发送到不希望接收的服务器

在第二个例子中,您只需更改地址栏中的网址即可发送http(s)获取

答案 1 :(得分:0)

这是一个奇怪的Wordpress错误:http://wordpress.org/support/topic/404-pops-after-custom-form-submission-by-post#post-1291358

如果您的表单包含名为" name"的字段,则会失败!