2016-11-21 1 views
2

J'essaie de sauvegarder un diagramme dans jsPlumb (j'utilise jsPlumb toolkit edition). Mon regard sauver la fonction comme ci-dessous:Comment définir le type MIME dans la fonction d'enregistrement jsPlumb

jsPlumb.on(controls, "tap", function() { 
     toolkit.save({ 
      url: "http://localhost:51987/api/Index/Save", 
     }); 
    }); 

Ma question est que je ne sais pas comment définir l'en-tête de demande à l'application/JSON dans jsPlumb fonction de sauvegarde. J'obtiens "Impossible de charger la ressource dans la console du navigateur: le serveur a répondu avec un statut de 415 (type de support non pris en charge)".

Vérification de la demande dans le Fiddler:

HTTP/1.1 415 non pris en charge Type de support Cache-Control: no-cache Pragma: no-cache Content-Type: application/JSON; charset = utf-8 Expires: -1 Serveur: Microsoft-IIS/10.0 X-réSEAU-Version: 4.0.30319 X-SourceFiles:?? = UTF-8 B QzpccHJvamVjdHNcc3Bpa2VzXHBsdW1wLXNwaWtlXGpzUGx1bWJBUElcanNQbHVtYkFQSVxhcGlcSW5kZXhcU2F2ZQ == = X-Powered-By : ASP.NET date: 21 novembre 2016 16:33:54 GMT Content-Length: 910

{ "message": "Le type d'entité de demande de support 'text/plain' est pas pris en charge pour cette ressource . "," ExceptionMessage ":" Non MediaTypeFormatter est disponible pour lire un objet de type 'JsPlumbViewModel' à partir du contenu avec le type de média 'text/plain'. "," ExceptionType ":" System.Net.Http.UnsupportedMediaTypeException " , "StackTrace": " à System.Net.Http.HttpContentExtensions.ReadAsAsync [T] (HttpContent contenu, le type de type, IEnumerable 1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable 1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken) \ r \ n à System.Web.Http.ModelBinding.FormatterParameterBinding. ReadContentAsync (HttpRequestMessage demande, type de type, IEnumerable`1, formatteurs IFormatterLogger formatterLogger, CancellationToken cancellationToken) "}

Répondre

1

Ajouter les en-têtes lors de la création de l'instance JSPlumb:

var toolkit = jsPlumbToolkit.newInstance({ 
    saveUrl:"http://sava-data.com", 
    saveHeaders:{ 
    "Content-Type":"application/json" 
    } 
});