Добрый вечер дорогие форумчане. Подскажите пожалуйста, почему при попытке отправить ajax запрос, у меня выскакивает alert из error??? Всю голову уже сломал, весь интернет уже перерыл.
2) И почему после того как я нажимаю ок в alert у меня перезагружается страница??
шаблон
{% extends "crm/main_struct.html" %}
{% load staticfiles %}
{% block content %}
<!--ОБЯЗАТЕЛЬНО СДЕЛАТЬ ФУНКЦИЮ НА JS КОТОРАЯ БУДЕТ ВЫЧИСЛЯТЬ ОТСТУПЫ И В НУЖНОЕ МЕСТО ПИХАТЬ КОНТЕНТ САЙТОВ-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('ul.tabs_m_w').each(function() {
$(this).find('li').each(function(i) {
$(this).click(function() {
$(this).addClass('active').siblings().removeClass('active');
var p = $(this).parents('div.tabs_container_m_w');
p.find('div.tab_container_m_w').hide();
p.find('div.tab_container_m_w:eq(' + i + ')').show();
});
});
});
})
</script>
<a href="{{url}}/crm/my_work/new/" class="add_notebook_a">
<div class="add_notebook">Добавить</div>
</a>
<div class="tabs_container_m_w">
<ul class="tabs_m_w">
{% for notebook in notebookList %}
<li class="inl-bl_m_w">
<div class="m_w_list_head">{{notebook.name}}</div>
<div class="m_w_list_date">{{notebook.date_firstly}}</div>
<div class="m_w_list_kr_info">{{notebook.kr_info}}</div>
</li>
{% endfor %}
</ul>
{% for notebook in notebookList %}
<div class="tab_container_m_w">
<a href="" onclick="resend({{notebook.id}});" class="a_tab">
<div class="m_w_save">
Сохранить
</div>
</a>
<div class="m_w_info_head" id="name{{notebook.id}}" contentEditable="true">{{notebook.name}}</div>
<div class="m_w_info_info" id="info{{notebook.id}}" contentEditable="true">{{notebook.information}}</div>
</div>
{% endfor %}
</div>
<script>
function resend(pk){
var name = document.getElementById('name' + pk).innerHTML.trim().replace(/<.*?>/g, "");
var info = document.getElementById('info' + pk).innerHTML.trim().replace(/<.*?>/g, "");
edit(name, info, pk);
}
</script>
<script>
function edit(name, info, pk) {
// Если поля заполнены, отправляем их значения
$.ajax({
error: function() {
alert('Ошибка получения запроса');
},
// При успехе очищаем поля и меняем кнопочку
success: function(data) {
alert("Успех"); // для проверки, что скрипт работает
},
// CSRF механизм защиты Django
beforeSend: function(xhr, settings) {
console.log('-------------before send--');
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;
}
if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
// Only send the token to relative URLs i.e. locally.
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
}
}
});// ajax
return false;
};
</script>
{% endblock %}
urls.py
urlpatterns = patterns('',
url(r'^my_work/edit/$', views.NBEdit, name='crm_edit_NB'),
)
views.py
def NBEdit(request):
if request.is_ajax():
for i in MyDela.objects.filter(pk=request.POST.get("id", "")):
i.name = request.POST.get("name", "")[:250]
i.information = request.POST.get("info", "")
i.save()
# return HttpResponse("ok")
return HttpResponseRedirect('/crm/sites/')
else:
# return HttpResponse("bad")
return HttpResponseRedirect('/crm/zayvki/')
Прошу не кидаться помидорами, я только учусь кодить))