このhtmlページにフォームがあります
<form method="post" id="form1" name="form1" action="/status_comment/save">
//Some text inputs
<input type="text" name="new_comment" id="new_comment" onkeydown="post_comment(event,'13')" >
</form>
そしてこれはPOST呼び出しを行うための私のjavascript関数です
function post_comment(event,item_id)
{
var keyCode = ('which' in event) ? event.which : event.keyCode;
if(parseInt(keyCode)==13 && event.shiftKey!=1)
{
var str = $('#form1').serialize(); // Gets all the filled details
$.post('/status_comment/save',
str,
function(data){
alert(data);
});
}}
バックエンドはDjangoを使用して実行され、これはreturnステートメントです
data=simplejson.dumps(data)
return HttpResponse(data, mimetype='application/json')
紹介URLは「/xyz」と言います。
フォームが送信されると、同じページにとどまるのではなく、自動的に「/ status_comment/save」ページにリダイレクトされます。getメソッドを試しましたが、正常に動作しますが、POSTメソッドは動作しません。
デバッグを試みたので、呼び出し後のURLを参照URLに変更すると、何もせずにページが更新されます。
また、上記の関数内のalert()コマンドは機能しないため、おそらく入力されていません。
私が気付いた興味深い点は、Web開発者コンソールを見ると、このページのPOST呼び出しのイニシエーターは「その他」と表示され、GET呼び出しとPOST呼び出しのイニシエーター(他のページでは機能している)は「 jquery-1.8.0.min.js:2 "
何かご意見は?ありがとう...