以下是使用ajax .load()从输入框加载django模板的示例。
加载方法的脚本
$( document ).ready( function() {
$( '#searchSubmit' ).click( function() {
q = $( '#q' ).val();
$( '#results' ).html( ' ' ).load( '{% url "demo_user_search" %}?q=' + q );
});
});
来自views.py
return render_to_response( template, data, context_instance = RequestContext( request ) )
VS。 post方法的脚本
$.ajax({
url : "/ajaxexample_json",
type : "POST",
dataType: "json",
data : data2,
success : function(json) {
show_results(json);
},
error : function(xhr,errmsg,err) {
alert(xhr.status + ": " + xhr.responseText);
}
});
return false;
});
和来自views.py
return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript')
我不知道POST方法是否有办法在成功时加载render_to_response模板,到目前为止我已经尝试并得到了200:错误并弹出(尽管所有相关内容)在弹出窗口中呈现txt / html)。
是否可以使用.load()函数提交POST?
答案 0 :(得分:1)
要在使用POST
时使用$.load()
,您必须传递JSON对象作为第二个参数。第二个参数(当它是一个对象时)被视为数据并通过POST请求发送到后端。
Source(寻找'请求方法')