現在、私はイオンコラボ(AngularJS)を使用したアプリケーションで作業しています。私がこの時間を投稿したいと思ったので、Active Collabにこの時間を持たせてください。しかし、私はそれをしようとしたときに、私は500 Internal Server Errorを得ました。これは、(私がテストするために、アクティブなコラボのAPIドキュメントからのデータを使用)私のコードです:アクティブコラブへの時間レコードの投稿
var postData = {
"value": 1.5,
"user_id": 1,
"job_type_id": 1,
"record_date": "2014-05-14",
"billable_status": 0
};
$http.post(baseUrl+'/projects/' + projectId +'/time-records/', postData, { headers: { 'Content-Type': 'application/json' }}).then(function(res){ ... }
トークン(問題-トークン)を取得するためのPOSTリクエストの仕事。だから問題は何か分かりません。私は誰でも私を助けることができると思いますか?
トークンポストを動作させるために、私はapi.phpにいくつかの行を追加しなければなりませんでした。これはデフォルトでそこにいるのが良いのではないでしょうか?
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
// return only the headers and not the content
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) {
header('Access-Control-Allow-Headers: X-Requested-With');
}
exit;
}
ありがとうございます!
あなたの質問は、十分な情報が含まれていません。まず、 'baseUrl'の値は何ですか?次に、サーバーにトークンを送信しますか?トークンがなければ、あなたの要求は拒否されます。また、サーバーからの応答メッセージは含めませんでした。 500は単なるステータスですが、Active Collabは常に何が問題になっているかを確認するための情報を提供します(アプリケーションをデバッグモードにすると多くの情報を提供します)。 – Ilija
また、APIを動作させるためにActive Collabのコードを変更する必要はありません。バージョン5のバックエンドは1つの大きなAPIであり、1つのコードを修正することなく4つのファーストパーティーのアプリと多数のサードパーティーのアプリで使用されます。コードにパッチを当てる必要がある場合は、アプローチに問題があります。 – Ilija