尝试发送发布请求时,我在控制台上收到404错误。
我使用https://cors-anywhere.herokuapp.com/作为代理,因此我可以在本地主机上解决并解决任何跨域问题。
我的代码是:
function test() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
alert(this.readyState + " // " + this.status);
}
xhttp.open("POST", "https://cors-anywhere.herokuapp.com/http://localhost/safecom/webuser.dll/Welcome", true);
xhttp.send("flogon=test&fpwd=123456");
}
本地主机页面形式为:
<form method="post" enctype="application/x-www-form-urlencoded" name="loginForm" id="loginForm" action="Welcome">
<input type="hidden" name="redirpage" value="">
<input type="hidden" name="redirparam" id="redirparam" value="">
<input type="hidden" name="flogontext" value="User logon">
<input type="hidden" name="fpwdtext" value="PIN code">
<input type="hidden" name="flogonEnc" id="flogonEnc" value="">
<div class="login_form_element">
<div class="login_field_user_box_border">
<div class="login_field_user_box">
<div class="logon_field_lbl" id="lblUserLogon" onclick="field_focus(flogon)">User logon</div>
<input class="login_field_input" type="text" name="flogon" id="flogon" maxlength="254" size="24" value="">
</div>
</div>
</div>
<div class="login_form_element">
<div class="login_field_user_box_border">
<div class="logon_field_lbl_pwd" id="lblPassword" onclick="field_focus(fpwd)">PIN code</div>
<input class="login_field_password_input" type="password" name="fpwd" id="fpwd" maxlength="4" value="">
</div>
</div>
<div class="login_form_element">
<input id="btnloginsubmit" class="rounded_login_btn" type="submit" value="Login"></div>
Chrome控制台将错误指向我send()所在的行,说: 加载资源失败:服务器响应状态为404(未找到)
问题是...当我使用网站的在线版本时,它可以工作...但是我想指向我的本地主机,所以我不需要在在线版本上进行更改。
答案 0 :(得分:2)
http://localhost
是“ 我的电脑”的一种表示法。
因此,当您将此URL发送到https://cors-anywhere.herokuapp.com
进行处理时,系统会尝试访问https://cors-anywhere.herokuapp.com/something
,因为localhost
指向其服务器,并且找不到该资源。
请勿使用代理或发送your真实的IP address而不是localhost
来解决此问题!