Я только что начал строить свой первый проект angularjs, и я застрял в $ http.post. Независимо от данных, которые я отправляю, он не будет перехвачен сервером (Django). Я видел много сообщений о том, что мне нужно изменить Content-Type headere на:
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
Произошло это, не помогло.
, когда я начал смотреть немного глубже, сравнивая $ HTTP и Jquery в $ .post, я заметил, что, когда данные передаются с $ HTTP, это форма данных, которая посылается:
{"first_prop":"789564","second_prop":"Foo","third_prop":"Bar"}:
с точкой с запятой в конце.
Когда я посылаю его с $ .post (и это работает), это то, что будет отослано:
first_prop:789564
second_prop:Foo
third_prop:Bar
Таким образом, они не посылать информацию точно так же.
Кто-нибудь знает, что я делаю неправильно, http.post?
Вот что мой код:
$http.post('pakashnotifier/addSlave', {
first_prop:"789564",
second_prop:"Foo",
third_prop:"Bar"
})
UPDATE Я заметил, что в настоящее время с $ http.post, пост получает перехвачены как GET на сервере.
Если кто-то может помочь, это было бы здорово :)
Пробовал, и это не помогло, теперь я заметил, что запрос отправляется как POST, но django воспринимает его как GET. – sid802
обновил ответ для сопоставления с django. Это должно работать – Unex
Спасибо! что очень помогло. Странно, что $ http.post иногда перехватывается как сообщения GET и что-то вроде POST. во всяком случае, он также никогда не перехватывается как запрос ajax – sid802