私はAJAXとJQueryを初めて使うので、私は考えることができる最も簡単なAJAX POSTを実装しようとしています。私はボタンを持っています。クリックすると、基本的なPOSTデータを同じページ(http:// {{my ip address}}/django/ajax /)に送信したいと思っています。私が持っている私の.htmlファイルにDjango/AJAX/JQuery - 簡単なPOSTのトラブル
:view.pyで
<script type="text/javascript">
function pythonizer(){
$("#msgid").append("it SHOULD post after this is appended");
$.ajax({
url: '/django/ajax/',
type: 'POST',
data: {'obj': "test string"},
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(response) {
alert(response);
}
});
}
</script>
<div id="msgid">
</div>
<input type="button" id="myButton" value="click me" onclick="pythonizer()" />
そして、私の関連する機能は次のとおりです。
def ajax(request):
if request.method == 'POST':
return HttpResponse("Hello AJAX")
return render_to_response('huh.html', {})
シンプルな、右?しかし、私のボタンをクリックすると、 "これは後に投稿するべきです"というメッセージがdivに正常に追加されますが、何も起こりません.HttpResponse( "Hello AJAX")は返されず、POSTは返されませんワーキング!
私が書いたものは、私が読んだドキュメントと一貫しているようですが、私は何か愚かなものが見つからない、またはPOSTを単純化しようとしている気がします。前もって感謝します!
あなたはJSエラーを持っていますか?多分、JS var "data"は未定義です。 – Guy
もっと明示的に変更しました。これはデータ:{'obj': "test string"}です。 POSTはまだ正常に動作していないようです。 –