簡體   English   中英

為什么PHP無法接收我的AJAX請求字符串?

[英]Why is PHP not receiving my AJAX request string?

我不知道為什么PHP會將我的請求字符串視為未定義。

$_GET['ask']
在我的php文件中會產生此錯誤-> 注意:未定義的索引:ask

但是當我從瀏覽器的網址欄中查詢php文件時,就像這樣

  本地主機/網站/ webProject / data.php?問=更改為MyQuery 

我已經將php文件設置為回顯我的字符串,並且確實做到了這一點,但是僅當我從瀏覽器URL欄查詢它時才這樣做。

但是當從父html / php文件正常運行AJAX代碼時

  request.open(“ GET”,“ data.php?ask = myquery”,true); 

PHP文件看不到查詢字符串,並認為其未定義。

為什么會這樣呢?

我嘗試使用

  $ _REQUEST []; 
但無濟於事。

我正在為AJAX請求使用純JavaScript。

這是JavaScript

 requestResponse(); function requestResponse() { var READY_STATE_DONE = 4; /* request finished and response is ready */ var SUCCESS = 200; /* "OK" */ setInterval(function(){ var request = new XMLHttpRequest(); request.onreadystatechange = function(){ if(this.readyState == READY_STATE_DONE && this.status == SUCCESS) { var response = this.responseText; console.log(request.responseText); document.getElementById("test").innerHTML += "<br>" + response; } } request.open("GET", "data.php?ask=myquery", true); request.send(); }, 3000) } 

這是PHP內容

 testRequest(); function testRequest() { $reqString = $_REQUEST['ask']; include("dbCredentials.php"); include("dbConnect.php"); if($reqString == "myquery") { echo("<br />REQUEST IS: " . $reqString); echo("<br /> Your request is granted"); } } 

披露:我已經用data.php替換了以前的php文件。

嘗試使用Jquery Ajax請求。 這在您要傳遞字符串而不是序列化數據時最有效

HTML:

    <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<script type='text/javascript'>
    $(function(){
        $.ajax({
            type: 'post',
            url: 'data.php?ask=whut',
            success: function(response){
                alert(response);
            }
        });
    });
</script>

PHP內容:

echo $_GET['ask'];

暫無
暫無

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

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