繁体   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