簡體   English   中英

在Google App Engine上運行的從jQuery到Django的HTTP POST

[英]HTTP POST from jquery to django running on google app engine

我不知道怎么了。

在我的html文件中,我正在執行以下操作:

$.post("some_page", {
   param1: "something" , "param2": "something 2"
  }, function(data) {
   alert(data)
  }, "json");

在我要發布到的python文件qwerty.py上,我具有以下內容:

def some_page(request): 

param1 = request.POST['param1']
param2 = request.POST['param2']

在urls.py文件中,我得到了下一行:

urlpatterns = patterns('',
   (r"^some_page$", "views.qwerty.some_page"),)

進行HTTP POST之后,出現內部服務器錯誤,說該請求既不包含param1也不包含param2(我嘗試更改參數的順序),指向該行:

param1 = request.POST['param1']

在qwerty.py文件中。我在做什么錯? 你能指出我的方向嗎?

預先感謝Serhiy。

確保不要像上面的“ param2”那樣引用$ .post數據字典中的鍵。

$.post("some_page", {
        param1: "something",
        param2: "something 2"
    }, function(data) {
        alert(data)
    }, "json");

另外,當您嘗試從Python的dict中獲取值時,應將其包裝在try / except子句中,或使用適當的工具進行作業。 例如:

param1 = request.POST.get('param1')

這將確保如果request.POST中不存在param1 ,則不會引發異常。 它將返回None

希望以上所做的一些更改可以為您解決問題。 但是,當您只有一張照片時,有時很難准確地提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM