[英]Unable to obtain php variable using ajax request
我有一個PHP文件,具有從數據庫中獲取的變量$ consult_id,如下所示:
$consult_id = $row['consult_id'];
相同的php文件在底部包括另一個文件2 ,該文件同時包含php和JavaScript。 相關代碼為:
$http({
method: 'get',
url: 'inc/token.inc.php'
}).then(function(response) {
//alert(response);
data = JSON.parse(response);
上面的代碼在文件2中引用的token.inc.php文件如下:
$apiObj = new MYAPI(API_KEY, API_SECRET);
$sessId = $consult_id;
$connectionData = $name;
$token = $apiObj->generateToken($sessionId , array(
'data' => $connectionData
));
$dresponseData = array(
'sessionId' => trim($sessId),
'token'=>trim($token)
);
echo json_encode($dresponseData);
如果我在下面對字符串進行硬編碼,則可以正常工作:
$sessId = XXXXXXXXXX; //insead of $consult_id
我嘗試了以下以及其他許多嘗試,但均未成功:
$sessId = json_encode($consult_id,JSON_HEX_TAG);
$ sessId始終為null
我知道它與“ ajax和php”有關,但作為新手無法識別問題。
硬編碼字符串可以正常工作。
token.inc.php
文件是一個單獨的文件。 變量$consult_id
是在另一個文件中定義的,因此即使您有ajax請求-它也與php的變量的作用域無關。
如果要在PHP命令中包含token.inc文件(例如: include/require
),則可以訪問該變量。
您需要做的是在ajax請求中使用data
參數(如我在注釋中所建議),然后將該變量傳遞給另一個文件。
JS:
$http({
method: 'post', //changed to post
data: {consultId: '<?php echo $consult_id; ?>'}, //added the 'data' parameter
url: 'inc/token.inc.php'
}).then(function(response) {
在token.inc.php文件中:
$sessID = $_POST['consultId'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.