簡體   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