我已经研究了很多关于PHP cURL的知识,并且已经知道了相当数量的Jquery Ajax但是我试图做的事情并不是直接的。我正在使用返回用户昵称的API登录按钮进行API调用。
然后我向包含curl参数的php文件发出ajax请求,我想在其中传递用户的昵称。
在AJAX请求中使用data
我能够成功发送javascript变量nickname
作为参数。
然后可以通过cURL PHP文件中的$nickname = $_GET['nickname'];
访问该变量。
感谢 rollstuhlfahrer 提供下面标明的解决方案。
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");
}
});
$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;
答案 0 :(得分:1)
由于您使用的是ValueError: x and y must have same first dimension, but have shapes (58,) and (55,)
,因此您只需将其作为查询参数传递:
GET
另一种选择。如果内置字符编码,这有美感:
$.ajax({
method: 'GET',
url: "/curl-php-file.php?nickname=" + nickname,
cache: false,
success: function(response) {
// Data
var data = response.data.data;
console.log(data);
},
}
然后在PHP代码中,检索传递的参数:
$.ajax({
url: "/curl-php-file.php",
method: "get",
data: {
nickname: nickname,
},
并将其附加到您的网址:
$nickname = $_GET['nickname'];
如果昵称是有效的昵称,你应该做一些检查,然后再通过curl发送。