我是AJAX的新手,我遇到的问题让我发疯。
我有一个基于用户点击页面一部分调用的函数。该函数被调用,并将点击的变量发送到:
"link" => "JavaScript:getTeamMembers($teamID[$teamCount], $lecturer_id)"
以下是调用的函数和我的AJAX:
function getTeamMembers(teamID,lecturer_id) {
var teamID = teamID;
var lecturer_id = lecturer_id;
jQuery.ajax({
type: "POST",
url: 'dashboard.php',
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
cache: false,
data: { teamID: teamID, lecturer_id: lecturer_id },
success: function(){
alert("It Works!");
},
fail: function(error) {
console.log(error);
},
always: function(response) {
console.log(response);
}
}
);
}
这些都在同一个文件 dashboard.php
中再次在dashboard.php中,我尝试访问发送的数据如下:
if (!empty($_POST['teamID'])) {
$teamID = $_POST['teamID'];
$lecturer_id = $_POST['lecturer_id'];
echo $teamID;
echo $lecturer_id;
} else {
echo "no teamID supplied";
}
然而,我无法回应任何事情。我从我的AJAX查询中获得成功回调。我已经尝试了var_dump
,但没有。
我最终放弃了它并使用了Cookie,以下作品:
function getTeamMembers(teamID,lecturer_id){
// then you store the values in a cookie
document.cookie = "teamID="+teamID;
document.cookie = "lecturer_id="+lecturer_id;
location.reload();
}
我成功访问了这里的变量
if (isset($_COOKIE["teamID"])) {
$teamID = $_COOKIE["teamID"];
$lecturer_id = $_COOKIE["lecturer_id"];
echo $teamID;
}
问题是,如果可能的话,我真的不想重新加载页面来访问我的数据,因此我为什么要弄清楚发生了什么。
我的文件中包含<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
。
来自控制台的响应标题:
Request URL:http://foo.co.uk/bar/dashboard.php
Request Method:POST
Status Code:200 OK
Remote Address:xx.xx.xx.xx:xx
Referrer Policy:no-referrer-when-downgrade
Response Headers
view source
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:keep-alive
Content-Type:text/html; charset=UTF-8
Date:Sun, 04 Feb 2018 14:04:26 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache
Strict-Transport-Security:max-age=15768000
Transfer-Encoding:chunked
Request Headers
view source
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.9
Connection:keep-alive
Content-Length:45
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
foo.co.uk
Origin:http://foo.co.uk
Referer:http://foo.co.uk/bar/dashboard.php
X-Requested-With:XMLHttpRequest
Form Data
view source
view URL encoded
teamID:73
lecturer_id:59bea8b7d56a63.33388595
更新:
我刚刚发现我请求的数据在页面刷新后可用,这会破坏使用AJAX的对象。