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