2016-11-21 72 views
2

我试图在jsPlumb中保存流程图(我使用的是jsPlumb工具包版本)。我保存功能看起来象下面这样:如何在jsPlumb中设置MIME类型保存功能

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

我的问题是我不知道如何请求头设置为application/JSON在jsPlumb保存功能。

我收到“无法在浏览器控制台中加载资源:服务器响应的状态为415(不支持的介质类型)”错误。

检查在Fiddler中请求:

HTTP/1.1 415不支持的媒体类型的Cache-Control:无缓存的Pragma: 无缓存内容类型:应用/ JSON;字符集= UTF-8过期时间:-1 服务器:Microsoft-IIS/10.0 X-ASPNET-版本:4.0.30319 X-SourceFiles:???? = UTF-的8B QzpccHJvamVjdHNcc3Bpa2VzXHBsdW1wLXNwaWtlXGpzUGx1bWJBUElcanNQbHVtYkFQSVxhcGlcSW5kZXhcU2F2ZQ == = X供电,通过:ASP.NET日期:2016年11月21日星期一16:33:54 GMT 内容长度:910

{“Message”:“此资源支持的请求实体的媒体类型'text/plain'不是 。“,”ExceptionMessage“:”No MediaTypeFormatter可用于从媒体类型为 'text/plain'。“,”ExceptionType“:”System.Net.Http.UnsupportedMediaTypeException“的内容中读取类型为 'JsPlumbViewModel'的对象。 ,“StackTrace”:“ 在System.Net.Http.HttpContentExtensions.ReadAsAsync [T](HttpContent 内容,类型类型,IEnumerable的1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable 1格式化器,IFormatterLogger formatterLogger, 的CancellationToken的CancellationToken个)\ r \ n在 System.Web.Http.ModelBinding.FormatterParameterBinding。 ReadContentAsync(HttpRequestMessage 请求,类型类型,IEnumerable`1格式化,IFormatterLogger formatterLogger,的CancellationToken的CancellationToken)“}

回答

1

创建JSPlumb实例时添加的报头:

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