Ваше окно предупреждения отображается в этой части кода:
alert(x.status + ' ' + x.responseText);
В основном вы отображаете:
- Код состояния
- И тело ответа , если оно есть.
Но ваш код PHP выглядит так:
header($_SERVER["SERVER_PROTOCOL"]." 400 Bad Request: id not set.");
exit;
Он отправляет код состояния, ноничего не выводит - это означает тело ответа пусто .
Вы должны сделать эхо из вашего PHP-кода, чтобы иметь некоторое тело в вашем ответе:
header($_SERVER["SERVER_PROTOCOL"]." 400 Bad Request");
echo "id not set";
exit;
Свойство responseText
на стороне Javascript содержит текст, который был отправлен на стандартный вывод со стороны PHP.
И отправка настандартный вывод - это где echo
пишет; -)