jquery post请求+;在Django的回应
我正试图用Django中的jquery发出post请求。不幸的是,我还没有成功。事实上:我只在firebug中看到状态为200的post请求,我得到以下结果(太新,无法发布任何图像): 谁能帮我找出我做错了什么 我的代码来自这里: ,所以我认为应该是正确的 仅供参考,在settings.py中,我已对csrf行进行了注释,以便暂时解决该问题: “#‘django.middleware.csrf.CsrfViewMiddleware’,” views.py:jquery post请求+;在Django的回应,jquery,ajax,django,Jquery,Ajax,Django,我正试图用Django中的jquery发出post请求。不幸的是,我还没有成功。事实上:我只在firebug中看到状态为200的post请求,我得到以下结果(太新,无法发布任何图像): 谁能帮我找出我做错了什么 我的代码来自这里: ,所以我认为应该是正确的 仅供参考,在settings.py中,我已对csrf行进行了注释,以便暂时解决该问题: “#‘django.middleware.csrf.CsrfViewMiddleware’,” views.py: import json from d
import json
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return render(request, 'index.html')
def ajax_test(request):
if request.method == 'POST' and request.is_ajax():
name = request.POST['name']
city = request.POST['city']
message = name + ' lives in ' + city
return HttpResponse(json.dumps({'message': message}))
return render(request, 'ajax.html')
index.html:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="/static/js/ajax.js"></script>
<script src="http://getbootstrap.com/dist/js/bootstrap.js"></script>
<form id="my_form" action="" method="post">
<input type="submit" value="Send">
</form>
URL.py:
from django.conf.urls import patterns, url
from polls import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^ajax/$', views.ajax_test, name="ajax"),
)
我敢打赌你的动作。尝试将其设置为帖子的URL。您的表单没有定义“操作” 这必须定义url。换成
$.post("/ajax/",
另外,当您正确地实现它时,不要丢弃csrf令牌。您只需传递序列化的表单数据(包括csrf令牌)
$.post("",
$.post("/ajax/",