[英]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錯誤?
謝謝
使用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.