我有一個訪問Asana API的PHP應用程序。我能夠在Asana中創建一個項目。但是,對API類的ajax調用正在返回一個readystate = 0。Asana項目已創建,但ajax readystate 0
雖然在螢火蟲故障排除我也注意到,網絡控制檯有一個302,400(??)和200狀態代碼。我認爲400狀態代碼與無效請求或格式不正確的網址有關,但是無論如何都會創建該項目。
有什麼想法?
更新:更多信息。
我有一個Ajax調用一個PHP文件,實習生在調用API服務之前調用Asana API來獲取驗證碼和令牌。 我相信我得到了CORS警告,因此readystate = 0和400錯誤。然而,因爲我的腳本的其餘部分繼續使用該令牌,它無論如何都會插入記錄。但是,在令牌過期後(3600秒),現在我無法插入記錄。我知道如果我直接調用php文件,它可以在沒有CORS錯誤的情況下運行。
$.ajax({
type: 'POST',
url: "oa/asana.php",
data: {apiprovider:"asana",type:"addnewproject",notes:"notes",name:"name",id:"id",resource:"projects"},
//dataType:"json",
//contentType: "application/json",
success: function(data) {
console.log(data);
},
error: function(error)
{
console.log("asana api error");
console.log(JSON.stringify(error)) ;
},
async:true
});
我的php代碼看起來像這樣。
...$asana = new AsanaAuth(API_KEY,API_SECRET,callbackUrl);
if (!isset($_GET['code'])) {
$url = $asana->getAuthorizeUrl();
header('Location:' . $url);
} else {
$asana->getAccessToken($_GET['code']);
if ($asana->hasError()) {
echo 'Error response code: ' . $asana->responseCode;
}
else {
echo $asana->response;
}
}
在Ajax調用之外有更好的方法嗎?