[英]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.