Durandal 是否妨碍了我的 POST 到第 3 方 asp.net 处理程序? 405 方法不允许错误

Is Durandal getting in the way of my POST to a 3rd party asp.net handler? 405 Method not allowed error

我已将 Roxy Fileman 添加到我的项目并将其绑定到 CKEditor。这是一个标准的 Durandal 项目,带有用于路由的 MVC 控制器和用于 ajax/json 数据调用的 Web api 控制器。

在我的应用程序中,网络 api 调用的典型工作 URL 是 http://localhost:63093/api/DurandalApi/getAssessmentQuestionnairePushMenu?id=1

当我尝试从 CKEditor 中上传文件时,我得到:

Request URL:http://localhost:63093/fileman/index.html?type=image&CKEditor=ckeditor&CKEditorFuncNum=1&langCode=en
Request Method:POST
Status Code:405 Method Not Allowed
Remote Address:[::1]:63093

但是,如果我直接在浏览器中转到 http://localhost:63093/fileman/index.html?type=image&CKEditor=ckeditor&CKEditorFuncNum=1&langCode=en,文件上传就可以完美地进行,然后我可以从 CKEditor 中的 FileMan 浏览到图像。

chrome 开发工具中的网络选项卡表明使用此 URL: http://localhost:63093/fileman/asp_net/main.ashx?a=UPLOAD 成功上传,这与 CKEditor 尝试使用的明显不同,但是这可能是因为在第二个示例中,index.html 已加载?

我还没有完全跟上正在发生的事情,但如果我直接转到 URL,同样的 URL 在 Durandal 之外也能完美运行,这一事实似乎表明 FileMan插件工作正常,所有权限都已相应设置。此外,CKEditor 配置也很好,因为它可以看到我在目录中上传的图像,但由于某种原因,它无法从 CKEditor(嵌入在标准 Durandal 视图中)中 "post"。

我正在尝试阅读路由,看看我是否需要在 Durandal 中进行某种异常映射,以告诉它让第 3 方 .ashx 处理程序处理 POST 请求,我我什至不确定这个问题是否表明 Durandal 妨碍了工作或其他原因。任何建议感激不尽!

啊。一切都清楚了。这真的是一半一半的答案,因为它并没有真正解决问题,但同样问题并不存在!

问题是 Roxy Fileman 不使用弹出窗口中的内置 "upload" 选项卡的 CK 编辑器。它希望用户仅 "browse server" 并在 Roxy 中使用 "add file" link。

当初看说明书的时候一头雾水,现在明白了!