我从前端获得json响应,如
Object {distict: "bangalore", taluka: "vijaypura", taluka2: "rural", distict1: "vijaypura", taluka3: "singagi"}
如何将数据读取到后端并保存到数据库中
我更新鲜,所以对我有帮助
答案 0 :(得分:1)
取决于您发送数据的方式 1:GET
data_rec = request.GET['distict']
2:POST
data_rec = request.POST['distict']
这是一个简单的草案代码
@login_required
def feed_read_body(request):
with transaction.atomic():
pk = int(request.GET.get('pk' ,None))
feed = NewsFeed.objects.get(id=pk)
return JsonResponse({'body':feed.body})
return JsonResponse( {'error_msg':False})
使用javascript或JQuery前端通过GET发送数据
function load_text(obj){
textedite_parent = $(obj).closest("span");
var textedite = $(textedite_parent).find('textbody').first();
pk = $(obj).attr('feed');
$.ajax({
url:'/api/feed/read/body/',
data: {
'pk': pk
},
type: 'get',
success: function(data) {
$(textedite).text(data.body);
$(obj).hide();
};
});
};
通过POST发送数据。出于安全原因,帖子需要CSRF-Tokens只需将此功能添加到ajax
beforeSend: function(xhr, settings) {
if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
//$(".loading").show()
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
}
},
并将类型从get更改为post
从cookie获取CSRFToken使用此功能
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}