handlers.py
class ChatHandler(BaseHandler):
model = ChatMsg
allowed_methods = ('POST','GET')
def create(self, request, text):
message = ChatMsg(user = request.user, text = request.POST['text'])
message.save()
return message
template.html
...
<script type="text/javascript">
$(function(){
$('.chat-btn').click(function(){
$.ajax({
url: '/api/post/',
type: 'POST',
dataType: 'application/json',
data: {text: $('.chat').val()}
})
})
})
</script>
...
API/urls.py
을chat_handler = Resource(ChatHandler, authentication=HttpBasicAuthentication)
urlpatterns = patterns('',
....
url(r'^chat/$', chat_handler, {'emitter_format': 'json'}),
)
왜 ChatHandler에서는 POST 메서드가 허용됩니까? GET 방법이 효과적입니다. 버그입니까, 아니면 코드가 잘못 되었습니까? 당신이 당신의 질문에이 코드를 포함하지 않았다
당신의 URL 패턴은 매개 변수를 생성하기위한 매개 변수를 캡처하지 않습니다. 그것에 충돌하지 않습니까? 아니면 정확한 예가 아닙니까? – jdi
크래시가 발생하지 않습니다. 오류 405가 firebug 콘솔에서 허용되지 않습니다. –
'ChatHandler'가 url'api/chat'으로 라우트되었지만 javascript가'/ api/post /'로 POSTing되는 이유는 무엇입니까? 해당 URL 끝점에서 라우팅되는 항목은 무엇입니까? – jdi