Javascript XMLHttpRequest Post方法

时间:2010-12-21 16:48:27

标签: javascript networking xmlhttprequest http-post

嘿所以我有一个关于使用XMLHttpRequest发布的问题。理论上,如果我要将用户名和密码发布到https域(不幸的是我还没有工作),那么responseText会更改为下一个网站,还是填写文本字段?通常情况下,您通过浏览器导航到此页面,输入用户名和密码,并在单击提交按钮时使用POST方法,在引擎盖下进行一些身份验证并返回其他页面。我觉得也许responseText应该保持完全相同(这就是现在发生的事情),但我不知道,因为我没有这方面的经验。

this.requests[1].open("POST", "https://" + this.address, true);
var query = "target=%2Fcgi-bin%2FStatusConfig.cgi%3FPage%3Dindex&userfile=&username=user&password=pass&log+in=Log+in";
this.requests[1].setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
this.requests[1].setRequestHeader("Content-length", query.length);
this.requests[1].setRequestHeader("Keep-Alive", 115);
this.requests[1].setRequestHeader("Connection", "keep-alive");
this.requests[1].setRequestHeader("Host", this.address);
this.requests[1].send(query);
this.requests[1].onreadystatechange = onReadyStateChange1;

然后基本上onReadyStateChange1在准备好后显示responseText。

对于post和responseText应该发生的任何事情,我们将非常感激。获得新的登录页面的建议也是如此。

为了进一步说明,我要做的是登录然后返回新页面,因为登录页面只显示登录信息/功能,登录后的页面有很多相关信息。我不是要尝试检查凭据,因为我试图让它(脚本)登录,以便它可以访问下一页。当然,凭证必须对此有效。

谢谢大家。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您是否尝试使用AJAX检查凭据?如果是这样,请始终进行服务器端验证,并仅将{"success": true, "redirect": "/loggedin.html"}返回给客户端。然后准备一个回调函数,转发response.redirect或类似的东西。

答案 1 :(得分:0)

我发现该网站应该发送带有相关信息的查询,并且不会填写文本字段或任何内容。 ResponseText更改。