簡體   English   中英

AJAX將POST變量發送到PHP

[英]AJAX Send POST Variables to PHP

我習慣用jQuery發送AJAX請求。 現在,我發現自己必須使用“ vanilla” JS發送它們。 利用我有限的知識,除了將數據與請求一起傳遞外,我設法使一切正常。 應該傳遞的兩個變量在我的數據庫中始終以NULL填充。 我在這里可以找到的每個示例都顯示了jQuery的方式,我這樣做沒有問題。

誰能告訴我我在做什么錯? 我認為它與數據的格式有關,但我無法實時了解它。

這是請求的代碼。 請求對象內置在createXMLHttp()函數中。

var xmlHttp = createXMLHttp();
var data = {Referrer: document.referrer, Path: window.location.pathname};
xmlHttp.open('post', '/PagePilotSiteHits.php', true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(data);
 var data = {Referrer: document.referrer, Path: window.location.pathname};

 function buildQueryString(data)
 {
     var dataKeys = Object.keys(data);
     var queryString = "";
     for (var i = 0; i < dataKeys.length; ++i)
     {
         queryString += "&" + dataKeys[i] + "=" + encodeURICompenent(data[dataKeys[i]]); 
     }
     return queryString.substr(1);
 }

 xmlHttp.send(buildQueryString(data));

這應該做。 數據需要作為querystring傳遞。 此函數將根據您提供的數據對象創建查詢字符串,並對@AlexV和@Quentin提到的uri組件進行編碼。

暫無
暫無

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

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