当向 Tastypie (Django) 发出 POST 以将新的“项目”对象添加到我的数据库时,以下代码在 IIS 之外以调试模式正常工作。
$.ajax({
url: "http://webserver.com/api/v1/project/",
type: "POST",
data: jsonProject
...
success: do something with the response object
注意:我在 Tastypie 中使用“always_return_data = True”将新创建的对象返回给客户端。
但是,当我将相同的代码发布到 IIS 并运行应用程序时,Tastypie 返回以下 HTML,并在末尾附加了 JSON 对象。有没有人对为什么会发生这种情况有任何理论,更重要的是,如何防止 IIS 预先添加这个 HTML?
"<head><title>Document Moved</title></head><body><h1>Object Moved</h1>This document may be found <a HREF="http://localhost/api/v1/project/14/">here</a></body>{"id": 14, "name": "New Project", "resource_uri": "/api/v1/project/14/", "slug": "new-project", "start_date": null, "status": 0}"
我可以通过拆分标签上的响应来解决问题,但至少可以说这不是一个非常优雅的黑客攻击。