Python IIS中的Tastypie返回HTML而不是JSON
在向Tastypie(Django)发布一篇文章以向我的数据库添加一个新的“项目”对象时,以下代码在IIS之外的调试模式下运行良好Python IIS中的Tastypie返回HTML而不是JSON,python,ajax,django,iis,tastypie,Python,Ajax,Django,Iis,Tastypie,在向Tastypie(Django)发布一篇文章以向我的数据库添加一个新的“项目”对象时,以下代码在IIS之外的调试模式下运行良好 $.ajax({ url: "http://webserver.com/api/v1/project/", type: "POST", data: jsonProject ... success: do something with the response object 注意:我在tastype中使用“always\u r
$.ajax({
url: "http://webserver.com/api/v1/project/",
type: "POST",
data: jsonProject
...
success: do something with the response object
注意:我在tastype中使用“always\u return\u 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}"
“文档移动对象移动”此文档可以找到{“id”:14,“name”:“New Project”,“resource_uri”:“/api/v1/Project/14/”,“slug”:“New Project”,“start_date”:null,“status”:0}
我可以通过在标记上拆分响应来解决问题,但至少可以说,这不是一个非常优雅的破解。tastypi将在每次创建新资源时返回一个指向它的
Location
头(即http://localhost/api/v1/project/14/
url(您在响应中看到返回的url)
我不确定您是如何在IIS上运行django的,但我怀疑您的问题可能与此处描述的问题类似: