繁体   English   中英

jQuery / AJAX-如何通过XMLHTTPRequest发布数据/登录到网站

[英]jQuery / AJAX - How to post data / login to a web site via XMLHTTPRequest

我需要协助。 我想登录www.mywebsite.com/login.html并保留cookie以便在我提交旅行表格时使用,因为您需要先登录才能提交表格。

当我尝试单击“登录”按钮时,没有任何反应。

下面是我的代码和表单的屏幕截图。

 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $.post("https://www.mywebsite.com/login.html", { login: "alice007@gmail.com", password: "alice1995" }, function(data,status){ alert("Data: " + data + "\\nStatus: " + status); }); }); }); </script> </head> <body> <button>Send an HTTP POST request to a page and get the result back</button> </body> </html> 

登录表单的屏幕截图

代码本身似乎是正确的(创建了click事件),但是某些站点阻止了这些请求并抛出了“跨源请求被阻止”。

如果您将其从www.mywebsite1.com/test.html调用到www.mywebsite2.com,则会发生这种情况

我已经尝试过多个网站,包括www.google.com:

$.post("http://www.google.com",

有关更多详细信息,请参见此图像,单击按钮后会发生什么: Firefox-开发人员工具

如果要启用CORS,则必须在目标服务器上执行此操作: https : //enable-cors.org-但是,对于某些管理员来说,这将带来安全风险。

在讨论答案之前,务必要知道表单按钮必须具有ID。 稍后在尝试定位该元素时,这将很有帮助。 这是一个例子

<button id="SendMyStatus">
  Send an HTTP POST request to a page and get the result back
</button>
$("button").click(function(){ ... }

或者您可以使用按钮的onClick事件。

<button onClick="SendMyStatus()"></button>

<script> function SendMyStatus(){ ... }</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM