Je voudrais savoir comment faire un appel ajax à un serveur baikal à faire GET, POST, OPTIONS, PROPDIND, PROPPATCH, RAPPORT, mettre, déplacer, supprimer, verrouiller, déverrouillerAJAX appel au calendrier partagé baikal en utilisant sabreDAV
J'ai utilisé ce code here et je l'ai fait fonctionner mais je pense que je ne sais pas comment faire un bon appel ajax. Je fais l'appel à l'intérieur du même domaine pour éviter les problèmes inter-domaines pour le moment. J'ai utilisé CalDavZAP avant et je peux voir qu'ils font un appel en utilisant ajax mais je ne peux pas le faire fonctionner même après avoir regardé leur code.
J'ai essayé
var content = 'BEGIN:VCALENDAR VERSION:2.0 CALSCALE:GREGORIAN BEGIN:VEVENT CREATED:20171020T123121Z LAST-MODIFIED:20171020T220236Z DTSTAMP:20171020T220236Z UID:m54url1l-6xwy-snnp-rg0h-7yl5kgsfbadg SUMMARY:this is new TRANSP:OPAQUE CLASS:PUBLIC DTSTART;VALUE=DATE:20171025 DTEND;VALUE=DATE:20171026 END:VEVENT PRODID:-//Inf-IT//CalDavZAP 0.13.1//EN END:VCALENDAR';
$.ajax({
type: 'PUT',
url: 'http://cal.domain.ca/cal.php/calendars/user/default/crazychars.ics',
beforeSend: function(req) {
req.setRequestHeader('Prefer', 'return=representation');
req.setRequestHeader('If-None-Match', '*');
},
username:'username',
password:'password',
contentType: 'text/calendar',
processData: true,
data: content,
dataType: 'text',
success: function(data){
console.log(data);
},
error: function(){
console.log(data);
event.preventDefault();
}
});//end of AJAX
Après avoir essayé beaucoup de choses ci-dessus revient maintenant avec 415 (Type de support non pris en charge). J'ai essayé différents types de contentType et d'en-têtes supplémentaires sans meilleurs résultats. Après avoir cherché sur internet, je n'ai aucune idée de ce qu'il y a d'autre à faire. Site Baïkal ne fournit pas d'exemples de soumission au serveur d'où j'ai regardé.
voici quelques têtes de requête/réponse
Response Headers
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-
check=0
Connection:Keep-Alive
Content-Type:application/xml; charset=utf-8
Date:Sat, 21 Oct 2017 11:44:12 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive:timeout=5, max=98
Pragma:no-cache
Server:Apache/2.4.6
Transfer-Encoding:chunked
X-Powered-By:PHP/5.6.31
X-Sabre-Version:3.1.3
Request Headers
Accept:text/plain, */*; q=0.01
Accept-Encoding:gzip, deflate
Accept-Language:en,fr;q=0.8
Authorization:Basic Z3N0bG91aXM6R3N0bG91aXM3OA==
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:345
Content-Type:text/calendar
Cookie:PHPSESSID=fqc0ctuskfv0cgaqeiq196gtf4; _ga=GA1.2.519255846.1496415686
Host:cal.smbservices.ca
If-None-Match:*
Origin:http://cal.domain.ca
Prefer:return=representation
Referer:http://cal.domain.ca/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
X-Requested-With:XMLHttpRequest