簡體   English   中英

無法使用ajax請求獲取php變量

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

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