Используйте это вместо данного оператора if.
if (req.readystate == 4) {
if (req.status == 200) {
var docx=req.responseXML;
alert(docx);
//Can also try this just in case:
//var doc = req.responseText;
//alert(doc);
}
}
Вы не проверяете, чтобы убедиться, что статус в порядке, это может привести к сбою сценария, возвращая ошибку (которую вы можете не увидеть, если у вас отладка, потому что это Javascript), поскольку ответ не готов пока оба состояния готовности не равны 4 и код состояния не равен 200. Кроме того, если responseXML не работает, попробуйте responseText, так как он может быть неправильно отформатирован.