$.ajax({
type :'GET',
url : geturl(a),
// type: $(this).attr('method'),
dataType : 'json',
views.py:
if request.method=="POST":
if request.POST.get('monyrsubmit'):
monthform=MonthForm(request.POST)
if monthform.is_valid():
selected_month=monthform.cleaned_data["Month"]
selected_year=monthform.cleaned_data["Year"]
print selected_month
print selected_year
我可以在ajax的type字段中同时拥有GET和POST请求。即时通讯使用表单,只有在单击提交按钮时,我才会尝试根据提交的数据显示信息。如果request.POST.get('monyrsubmit')不起作用。 帮助将不胜感激
答案 0 :(得分:0)
这很简单。你必须抽象事件。
function event_page_load() {
function ajax_request('GET')
}
function click_submit_button() {
function ajax_request('POST')
}
function ajax_request(type) {
$.ajax({
type : type,
......
......
})
}
您还可以考虑以下一般指导原则。 应根据对服务器的请求类型使用GET和POST
- If you are reading the existing data(without modification) from the server, use GET
- if you are writing/modifying any data in the server, use POST
在jQuery中,您可以使用这些简单的方法。
对于GET请求
$.get(
url,
{param1: "value1", param2: "value2"},
function(responseText){
// todo ;
},
"html"
);
用于POST请求
$.post(
url,
{param1: "value1", param2: "value2"},
function(responseText){
// todo ;
},
"html"
);
确保您已禁用浏览器缓存。
$.ajaxSetup ({
cache: false
});
在django方面,您可以使用request.is_ajax()
方法验证ajax调用,并且可以根据request.method
属性进行过滤。