我试图在jsPlumb中保存流程图(我使用jsPlumb工具包版本)。我的保存功能如下所示:
jsPlumb.on(controls, "tap", function () {
toolkit.save({
url: "http://localhost:51987/api/Index/Save",
});
});
我的问题是我不知道如何在jsPlumb保存功能中将请求标头设置为application / json 。
我得到"无法在浏览器控制台中加载资源:服务器响应状态为415(不支持的媒体类型)"错误。
在Fiddler中检查请求:
HTTP / 1.1 415不支持的媒体类型缓存控制:no-cache Pragma: no-cache Content-Type:application / json; charset = utf-8到期:-1 服务器:Microsoft-IIS / 10.0 X-AspNet-版本:4.0.30319 X-SourceFiles: =?UTF-8 2 B 4 QzpccHJvamVjdHNcc3Bpa2VzXHBsdW1wLXNwaWtlXGpzUGx1bWJBUElcanNQbHVtYkFQSVxhcGlcSW5kZXhcU2F2ZQ ==?= X-Powered-By:ASP.NET日期:星期一,2016年11月21日16:33:54 GMT 内容长度:910
{"消息":"请求实体的媒体类型' text / plain'不是 支持此资源。"," ExceptionMessage":"没有 MediaTypeFormatter可用于读取类型的对象 ' JsPlumbViewModel'来自媒体类型的内容 ' text / plain的'"" ExceptionType":" System.Net.Http.UnsupportedMediaTypeException""堆栈跟踪":& #34; 在System.Net.Http.HttpContentExtensions.ReadAsAsync [T](HttpContent) content,Type type,IEnumerable
1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable
1格式化程序,IFormatterLogger formatterLogger, 取消语音取消语句)\ r \ n at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage 请求,类型类型,IEnumerable`1格式化程序,IFormatterLogger formatterLogger,CancellationToken cancellationToken)"}
答案 0 :(得分:1)
在创建JSPlumb实例时添加标头:
var toolkit = jsPlumbToolkit.newInstance({
saveUrl:"http://sava-data.com",
saveHeaders:{
"Content-Type":"application/json"
}
});