J'essaie de publier JSON sur le serveur mais le code ne fonctionne pas. J'ai trouvé un exemple pour publier JSON avec Actionscripts 3 mais j'ai besoin de définir le type de contenu dans le code. Je poste mon code de test ici.Actionscripts 3 POST JSON avec en-tête de contenu
J'ai testé url + header + body dans firefox RESTClient et ils fonctionnent. [1] Je suis sûr URL est vrai et travailler dans un autre endroit, mais ici, je reçu l'erreur "URL Erreur d'ouverture"
URL [[enter image description ici] [1]!]: » https://api.thinger.io/v2/users/ *** "
contenu en-tête: "application/json"
corps: {" dans ": true}
import flash.display.Sprite;
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestHeader;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
var loader: URLLoader;
function ATN() {
loader = new URLLoader();
configureListeners(loader);
var header: URLRequestHeader = new URLRequestHeader("Accept", "application/json");
var request: URLRequest = new URLRequest("https://api.thinger.io/v2/users/***");
request.data = new URLVariables("in:true");
request.method = URLRequestMethod.POST;
request.requestHeaders.push(header);
try {
loader.load(request);
} catch (error: Error) {
trace("Unable to load requested document.");
}
}
function configureListeners(dispatcher: IEventDispatcher): void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
function completeHandler(event: Event): void {
var loader: URLLoader = URLLoader(event.target);
trace("completeHandler: " + loader.data);
}
function openHandler(event: Event): void {
trace("openHandler: " + event);
}
function progressHandler(event: ProgressEvent): void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
function securityErrorHandler(event: SecurityErrorEvent): void {
trace("securityErrorHandler: " + event);
}
function httpStatusHandler(event: HTTPStatusEvent): void {
trace("httpStatusHandler: " + event);
}
function ioErrorHandler(event: IOErrorEvent): void {
trace("ioErrorHandler: " + event);
}
ATN();
eRREUR:
Err ou: Erreur # 2101: La chaîne transmise à URLVariables.decode() doit être une chaîne de requête codée en URL contenant des paires nom/valeur.
en cas d'erreur $/throwError()
à flash.net::URLVariables/decode()
à flash.net::URLVariables()
à ATN_fla :: MainTimeline/ATN()
à ATN_fla :: MainTimeline/frame1()
EDIT:
function ATN() {
loader = new URLLoader();
configureListeners(loader);
var header: URLRequestHeader = new URLRequestHeader("Accept", "application/json");
var request: URLRequest = new URLRequest("https://api.thinger.io/v2/users/***");
request.data = new URLVariables();
var postData: Object = {"in": true};
request.data = JSON.stringify(postData);
request.method = URLRequestMethod.POST;
request.requestHeaders.push(header);
try {
loader.load(request);
} catch (error: Error) {
trace("Unable to load requested document.");
}
}
SORTIE: openHandler: [Type d'événement = bulles "ouvertes" = false cancelable = false eventPhase = 2] progressHandler chargé: 44 Total: 44
EDIT 2:
function ATN() {
loader = new URLLoader();
configureListeners(loader);
var header: URLRequestHeader = new URLRequestHeader("Accept", "application/json");
var request: URLRequest = new URLRequest("https://api.thinger.io/v2/users/***");
var postData: Object = {"in": true};
request.data = JSON.stringify(postData);
request.method = URLRequestMethod.POST;
request.requestHeaders.push(header);
try {
loader.load(request);
} catch (error: Error) {
trace("Unable to load requested document.");
}
}
SORTIE 2 :
openHandler: [Type d'événement = bulles "ouvertes" = false cancelable = false eventPhase = 2] progressHandler chargé: 44 Total: 44
Erreur d'ouverture URL 'https://api.thinger.io/v2/users/ ***'
httpStatusHandler: [HTTPStatusEvent type = "httpStatus" bulles = false cancelable = false eventPhase = 2 status = 400 redirigée = false responseURL = null]
ioErrorHandler [IOErrorEvent type = "ioError" bubbles = faux cancelable = faux eventPhase = 2 text = "Erreur # 2032: Erreur de flux. URL: https://api.thinger.io/v2/users/ *** "]
C 'erreur # 2032: erreur flux URL:. https://api.thinger.io/v2/users/***'tells vous que l'URL n'a pas été trouvée (URL n'existe pas) (2) ** https: //api.thinger.io/** est-il censé être une URL valide?Je reçois un _ "404 Not Found" _ alors comment des dossiers comme 'v2' et' users' existent-ils? –
L'URL fonctionne correctement. Je l'ai testé dans firefox RESTClient. ici j'ai enlevé une partie de l'URL. –
J'ai changé les données JASON et l'erreur précédente a disparu. maintenant une nouvelle erreur apparaît. –