Momentan arbeite ich an einer App für Active Collab mit ionischen (AngularJS). Wenn ich etwas Zeit verfolgt habe, möchte ich diese Zeit posten, damit ich diese Zeit in Active Collab habe. Aber als ich das versuchte, bekam ich einen 500 Internal Server Error. Dies ist mein Code (ich die Daten aus dem Active Collab API-Dokumentation verwendet wird, testen):Zeitsätze an Active Collab senden
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){ ... }
Die Post-Anforderung Arbeit für das Erhalten der Token (Ausgabe-Token). Also ich habe keine Ahnung was das Problem ist. Ich hoffe, dass mir jemand helfen kann?
Um den Token-Post arbeiten zu lassen, musste ich einige Zeilen zur api.php hinzufügen. Wäre das nicht gut, um dort standardmäßig zu sein?
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;
}
Vielen Dank im Voraus!
Ihre Frage enthält nicht genügend Informationen. Zuerst, was ist der Wert von 'baseUrl'? Zweitens, senden Sie Token an den Server? Ohne Token wird Ihre Anfrage abgelehnt. Außerdem haben Sie die Antwortnachricht vom Server nicht hinzugefügt. 500 ist nur der Status, aber Active Collab liefert immer ein bisschen mehr Informationen, damit Sie sehen können, was schief gelaufen ist (es liefert eine Menge Informationen, wenn Sie die App in den Debug-Modus versetzen). – Ilija
Außerdem müssen Sie den Active Collab-Code nicht ändern, damit die API funktioniert. Das Backend der Version 5 ist eine große API und wird von 4 First-Party-Apps sowie vielen Apps von Drittanbietern ohne eine einzige Code-Änderung verwendet. Wenn Sie den Code patchen müssen, gibt es ein Problem im Ansatz. – Ilija