【发布时间】:2026-01-09 23:10:01
【问题描述】:
我想在用户使用 cookie auth 登录后从 rest api 获取特定数据,但我最终得到字段 'fieldname' 不存在或匿名用户无法查看此字段。
下面可以看到我用ajax和php写的获取数据的代码。我知道我的脚本可能很糟糕,因为我第一次使用 curl 请求所以请耐心等待,我希望有人告诉我我做错了什么或更好地向我解释如何使用 curl 获取并将数据发布到服务器并获取和具体数据显示将不胜感激。
$('#user-profile').click(function(){
$.ajax({
type: "POST",
url: "jiraticket.php",
data: $('#login-form').serialize(),
success: function(data){
alert(data);
}
});
});
这是脚本
<?php
session_start();
$url = 'http://base-url/rest/api/2/search?jql=issuetype%20=%20Epic%20AND%20status%20in%20(%22In%20Progress%22,%20Backlog,%20%22On%20hold%22,%20%22To%20Do%22)';
$curl_session = curl_init($url);
curl_setopt($curl_session, CURLOPT_HEADER, 0);
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
if(isset($_COOKIE['JSESSIONID']))
$cookie_string='JSESSIONID='.$_COOKIE['JSESSIONID'];
else
$cookie_string="";
curl_setopt($curl_session, CURLOPT_HTTPHEADER, array('Content-Type: application/json' ,'Authorization: Cookie'), array('cookie:'.$cookie_string));
$response = curl_exec($curl_session);
curl_close($curl_session);
if ( !$response ) {
die('Nothing was returned.');
}
$result = json_decode($response, true);
print_r($result);
【问题讨论】:
-
你能把 $response 里面的内容和 print_r($result) 返回的内容贴出来吗?
-
$result 打印数组和 $response 打印 "errorMessages":["Field 'issuetype' 不存在或匿名用户无法查看此字段。"],"errors":{}} @鲍里斯克
标签: php ajax rest jira-rest-api