Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2017, 09:58   #1
SnapeEye
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 43
Восклицание написание PUT и DELETE запросов AJAX

Доброго времени суток!

Пытаюсь написать PUT и DELETE запросы с помощью AJAX, но получаю следующие ошибки от обоих:
PUT http://localhost:8080/crud/srv 500 (Internal Server Error)
DELETE http://localhost:8080/crud/srv 500 (Internal Server Error)

Как шлю PUT запрос:
Код:
function updateP(id,fname,lname,age) {
	var req = 'id=' + id + '&fname=' + fname + '&lname=' + lname + '&age=' + age;
	http.open('PUT', '/crud/srv', true);
	http.setRequestHeader("Content-type", "text-plain");
	http.onreadystatechange = updateReply;
	http.send(req);
}
Как шлю DELETE запрос:
Код:
function deleteP(id) {
	var req = 'id=' + id;
	http.open('DELETE', '/crud/srv', true);
	http.setRequestHeader("Content-type", "text-plain");
	http.onreadystatechange = deleteReply;
	http.send(req);
}
Подскажите, пожалуйста, правильно ли я составляю запросы? И в чем могут быть вообще тут трудности и на что обратить внимание?

Заранее благодарю за любые комментарии!
SnapeEye вне форума Ответить с цитированием
Старый 31.07.2017, 10:25   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Про 500 надо смотреть логи сервера.

Вообще браузеры вроде бы поддерживают только POST, GET. Остальные обычно указывают заголовком или параметром (...&method=put) и на сервере обрабатывают (встроено в большинство веб-фреймворков).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 31.07.2017 в 10:29.
Alex11223 вне форума Ответить с цитированием
Старый 31.07.2017, 10:32   #3
SnapeEye
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Про 500 надо смотреть логи сервера.

Вообще браузеры вроде бы поддерживают только POST, GET. Остальные обычно указывают заголовком или параметром (...&method=put) и на сервере обрабатывают (встроено в большинство веб-фреймворков).
Т.е. PUT и DELETE на столько уж вымерли, что приходится таковые запросы обрабатывать внутри POST или GET?) Если да, то очень скверно, как по мне...
SnapeEye вне форума Ответить с цитированием
Старый 31.07.2017, 10:46   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Не вымерли и работают еще. Для AJAX не стоит указывать плайн-текст как контент.
p51x вне форума Ответить с цитированием
Старый 31.07.2017, 10:49   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Скорее наоборот, их не было изначально.

Вообще с ajax по идее должно работать в современных браузерах, это в HTML формах их нет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 31.07.2017, 10:57   #6
SnapeEye
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 43
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Не вымерли и работают еще. Для AJAX не стоит указывать плайн-текст как контент.
Спасибо, учту!


Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Вообще с ajax по идее должно работать в современных браузерах, это в HTML формах их нет.
Понял, попробую найти способ реализовать или воспользуюсь параметром (по Вашему совету).
SnapeEye вне форума Ответить с цитированием
Старый 31.07.2017, 11:06   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Скорее наоборот, их не было изначально.
https://tools.ietf.org/html/rfc7231#page-26
p51x вне форума Ответить с цитированием
Старый 31.07.2017, 11:08   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну в 1.0 или около того не было )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 31.07.2017, 11:48   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

та ладно https://tools.ietf.org/html/rfc1945#page-58
p51x вне форума Ответить с цитированием
Старый 31.07.2017, 12:20   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну они ж там "used by some existing HTTP implementations, but not consistently and correctly across most HTTP/1.0 applications. Implementors should be aware of these features, but cannot rely upon their presence in, or interoperability".

А в 1.1 уже нормально в основном разделе.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написание запросов sql vicvic90 Фриланс 1 28.01.2013 11:24
Написание процедур select, delete, update, insert (с выходным параметром) NatRez SQL, базы данных 4 21.10.2012 19:54
error C2541: 'delete' : cannot delete objects that are not pointers novokhatsky Общие вопросы C/C++ 2 14.12.2009 10:25
Написание SQL-запросов tsergey Помощь студентам 9 12.02.2009 11:17
Перегрузка операций new, new[], delete, delete[] IgorKr Общие вопросы C/C++ 1 22.10.2008 12:14