所以我一直在關注本教程http://webcloud.se/log/AJAX-in-Django-with-jQuery/,並且get方法正常工作。即我彈出了一個彈出窗口,說明它應該在彈出窗口中說什麼。但是,當我使用post方法時,我什麼也沒有得到。看起來這個請求甚至沒有達到我的看法。在django中使用ajax時無法發帖
這是我的JavaScript處理這個問題有點樣子:
$(document).ready(function(){
$("#popupbutton").click(function(){
$.post("/launch_instances", {
name: "Monty",
food: "Spam"
},
function(data) {
alert(data);
}
);
});
...................
這是我的模板的相關位:
<center>
<div id="popupbutton"><input type="submit" value="Launch Instances!" /></div>
</center>
這裏是我的views.py:
from django.http import HttpResponse
def li_view(request):
return HttpResponse("post gets to the view")
if request.is_ajax():
if request.method == 'GET':
message = "This is an XHR GET request"
elif request.method == 'POST':
message = "This is an XHR POST request"
else:
message = "Nothing"
else:
message = "No XHR"
return HttpResponse(message)
正如你可以看到我做的第一件事,當我看到我的視圖是返回一個HttpResponse,但是當我是你當我使用get時,我看不到任何彈出窗口。所以我的猜測是,出於某種原因,請求甚至沒有達到視圖。
這是我的urls.py:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^launch_instances/', 'simdata.views.li_view'),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
)
也出現了類似的問題,但周圍沒有什麼作爲作爲的bizzare此。我是django/ajax/jquery的新手,所以可能會丟失一些非常小的東西。
感謝提前:)
你的'urls.py'裏有什麼?也許錯誤在那裏? – 2012-08-02 21:22:43
@CypressFrankenfeld我已經添加了我的urls.py :) – AmirHBP 2012-08-02 21:28:00
如果您使用的是現代瀏覽器,如最近的Chrome或Firefox(使用Firebug),您應該可以使用開發人員工具來了解您的請求發生了什麼。例如,在Chrome中,您應該先打開開發人員控制檯(扳手 - >工具 - >開發人員工具),然後轉到網絡選項卡,然後觸發您的AJAX呼叫。然後您可以看到應該幫助您調試的狀態碼和響應內容。 – 2012-08-02 21:38:22