簡體   English   中英

使用javascript向服務器提交發布請求

[英]Using javascript to submit a post request to a server

我正在開發一個可以與我們的合作伙伴門戶集成的網絡爬蟲,並提交發布請求以進行出價更改。

問題是爬蟲在一個無法執行jQuery的環境中運行,只能運行本機Javascript。

我已確定以下AJAX代碼成功發送了post請求:

$.ajax({
  type: "POST",
  url: "http://acp.example.com/campaigns/122828",
  data: "data-string"
});

有沒有辦法將上述語句翻譯成本機javascript,以便抓取工具可以執行它?

UPDATE

在下面執行hex494D49的原生Javascript時,我收到一條“NetworkError:404 Not Found - http://acp.fyber.com/campaigns/122828 ”消息。

但是,當我在firebug中執行原始AJAX代碼時,它成功發送了POST請求。

知道為什么同一個url會使用原生Javascript而不是AJAX返回404錯誤?

謝謝

成功的AJAX

本機Javascript出現404錯誤

使用POST方法發送AJAX請求

 var xhr = new XMLHttpRequest();
 var url = "url";
 var data = "email=hey@mail.com&password=101010";
 xhr.open("POST", url, true);
 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
 xhr.onreadystatechange = function () {
     if (xhr.readyState == 4 && xhr.status == 200) {
         // do something with response
         console.log(xhr.responseText);
     }
};
xhr.send(data);

使用GET方法發送AJAX請求

xhr = new XMLHttpRequest();
var url = "url?email=hey@mail.com&password=101010";
xhr.open("GET", url, true);
xhr.onreadystatechange = function () { 
    if (xhr.readyState == 4 && xhr.status == 200) {
         // do something with response
         console.log(xhr.responseText);
    }
}
xhr.send();

為了避免對服務器的意外請求,最好對任何用戶輸入的參數使用encodeURIComponent()方法,這些參數將作為URI的一部分傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM