2011-06-26 16 views
1

Djangoビューにパラメータを渡そうとしていますが、それを実行する最良の方法が何であるかを判断できませんでした。Ajaxでパラメータを渡すDjango

私は、AJAX呼び出しを作っていますし、私のjavascriptのコードが

url = "/review/flag/code/"+ code +"/type/" + type + "/content/" + content + "/"; 
$.getJSON(url, somefunction); 

このコール

(r'^rate/code/(?P<code>[-\w]+)/type/(?P<type>[-\w]+)/content/(?P<content>[-\w]+)/$', 'project.views.flag_review'), 

そして、私は私の見解でパラメータを取得することができますため、対応するURLであるよう

def rate_review(request,code,type,content): 
    .... 

私の質問は、contenttextareaには多くのエスケープ文字が含まれている可能性があり、上記のようにそれを渡すと正規表現による問題が発生します。

www.xx.com/review/rate?code=1のようなパラメータを渡す方法はありますか& type = 2 & content = sdfafdkaposdfkapskdf ...?

おかげ

答えて

4

場合textarea入力フィールドを介してフォームに、あなたはおそらくする必要がありますHTTP POSTメソッドを使用してデータを送信します。

+0

これは良い回答ですが、$ .getJSON(url、{content:reason}、somefunction)のようなメソッドを使用しています。代わりに$ .post。私はJQueryのgetJSON関数でpostメソッドとしてパラメータを渡すことはできますか? – brsbilgic

+1

私はこれを発見しました:$ .postJSONがないので、jQueryのajax投稿を行い、JsonResultを期待している場合は、必ず$ .postの4番目のパラメータとして 'json'を渡す必要があります。 – brsbilgic

3

確かに、あなたのrate_review機能であなたがそれらの偶然にrequest.GETにアクセスし、アクセスすることができます:content変数が入力され

/rate/code/?foo=bar 

def rate_review(request): 
    request.GET['foo'] 
関連する問題