Django - Ajax: отправка параметров URL в данных
Я пытаюсь отправить запросы "GET" и "POST" на сервер Django через Ajax. Во-первых, я предоставляю URLConf:
url(r'^write_to_file/(?P<file_name>.*)/(?P<content>.*)/$',generalFunctions.write_to_file, name ='write_to_file'),
Теперь часть AJAX. Раньше я делал это таким образом (избегая отправки параметров в данных)
$.ajax({
type: "GET",
url: '/write_to_file/' + file_name + '/' + content ,
data: {},
success: function(data){
alert ('OK');
},
error: function(){
alert("Could not write to server file " + file_name)
}
});
До определенного момента я был удовлетворен этим методом, но теперь для меня важно передать file_name и контент через переменную data, и по какой-то причине я получаю сообщение об ошибке 404.
$.ajax({
type: "GET",
url: '/write_to_file/',
data: {'file_name':file_name, 'content':content},
success: function(data){
alert ('OK');
},
error: function(){
alert("Could not write to server file " + file_name)
}
});
Ошибка на стороне сервера:
Not Found: /write_to_file/
[15/Apr/2016 14:03:21] "GET /write_to_file/?file_name=my_file_name&content=my_content HTTP/1.1" 404 6662
Ошибка на стороне клиента:
jquery-2.1.1.min.js:4 GET http://127.0.0.1:8000/write_to_file/?file_name=my_file_name&content=my_content 404 (Not Found)
Есть идеи почему? Что-то не так с синтаксисом ajax или это как-то связано с URLConf?
1 ответ
url(r'^write_to_file/(?P<file_name>.*)/(?P<content>.*)/$',generalFunctions.write_to_file, name ='write_to_file'),
неверно, URL, на который вы отправляете запрос на публикацию: /write_to_file/
url(r'^write_to_file/$',generalFunctions.write_to_file, name ='write_to_file'),
это то, что вы хотите, я думаю!