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 は、末尾に JSON オブジェクトが追加された次の HTML を返します。なぜこれが起こっているのか、さらに重要なことに、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}"
タグの応答を分割することで問題を解決できますが、控えめに言っても、これはあまり優雅なハックではありません。