[英]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",
如果要启用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.