0

Django の関数に渡す Javascript の辞書があります。しかし、POST でデータにアクセスしようとすると、キーが明らかに存在するのにキー メッセージが見つからないと表示されます。私はこれについて頭を悩ませてきました。私はJavascriptとJqueryを初めて使用するので、単純な間違いを犯したと確信しています。

コードは次のとおりです。

function share(id) {
  var message = $('textarea#message').val();
  var postData = { message: message, id: id };
  $.post( "/{{ username }}/post/", postData, function ( json ) {
    $('#posts').load(' #posts', function(){$(this).children().unwrap()})
  } );
}

正確なエラー:

/Mohammed/post/ の MultiValueDictKeyError "Key 'message' not found in " リクエスト メソッド: POST

更新 だから私は問題を絞り込みました.そのvarメッセージは値を取得していません. 値を取得しようとしている html は次のとおりです。

 <textarea class="input-xlarge inputConvo"  value = "" name="message" id="textarea" rows="2" style="width:98%; min-width:98%; max-width:98%;" placeholder="Share something with <user>."></textarea>

助けてくれてありがとう

4

3 に答える 3

3

あはは!要素に正しく到達していません。これを試して:

var message = $('#textarea').val();

#構文はidtextareaの要素を取得することを意味します。名前ではありません。メッセージに変更しidて使用することができます$('#message').val();

于 2012-08-09T02:43:34.180 に答える
1

jQueryの部分は私には良さそうです。サーバー側で次のことを行っていることを確認してください。

message = request.POST['message']

それでもうまくいかない場合は、GET と POST を同時に調べる次の方法を試すことができます。

message = request.REQUEST['message']

それでもうまくいかない場合は、印刷してコンソールに表示してみてrequest.POSTくださいrequest.REQUEST

print request.REQUEST
于 2012-08-09T02:31:40.503 に答える
0

dict次のように、より安全な方法でオブジェクトからデータを抽出する必要があります。

request.REQUEST.get('message', '')

これにより、Key not foundエラーが回避されます。デフォルト値を自由に設定してください。

于 2012-08-09T02:35:05.607 に答える