【发布时间】:2018-07-14 11:08:54
【问题描述】:
我已经研究了很多关于 PHP cURL 的知识,并且已经了解了相当多的 Jquery Ajax,但是我想要做的并不是直截了当。我正在使用返回用户昵称的 API 登录按钮进行 API 调用。
然后我向包含 curl 参数的 php 文件发出 ajax 请求,我想在其中传递用户昵称。
已解决
在 AJAX 请求中使用 data 我能够成功发送 javascript 变量 nickname 作为参数。
然后可以通过 cURL PHP 文件中的$nickname = $_GET['nickname']; 访问该变量。
感谢 rollstuhlfahrer 提供以下标记的解决方案。
Ajax 请求:
var nickname = API.getUserInfo().value.nickname;
$.ajax({
method: 'GET',
url: "/curl-php-file.php",
cache: false,
data: {
nickname: nickname, // Sends data as a URL paramater
}
success: function(response) {
// Data
var data = response.data.data;
console.log(data);
},
error: function(response, val) {
console.log("AJAX Request Failed");
}
});
cURL PHP 文件:
$nickname = $_GET['nickname']; // Gets data from AJAX
require_once("../../../../../wp-load.php");
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://.../?nickname=' . $nickname,
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Authorization: MYTOKEN'
)
));
$resp = curl_exec($curl);
wp_send_json_success(json_decode($resp));
curl_close($curl);
exit;
【问题讨论】:
-
不清楚您在哪里可以访问此昵称。第 1 步需要更多细节
-
在 AJAX 请求之前我可以访问该变量。
-
在哪里?在客户端还是服务器端?
-
客户端,它是一个javascript变量。我可以在 AJAX 请求之前访问它,并且可以使用@rollstuhlfahrer 下面的答案将它作为 URL 中的字符串传递,但是 php 脚本没有使用 _GET 过程读取它
-
然后显示用于获取昵称的相关代码,这基本上是第一条评论的重点