Вы неправильно используете Ajax. Идея состоит в том, чтобы не возвращать что-либо, а вместо этого передавать данные на вызов, называемый функцией обратного вызова, которая обрабатывает данные.
То есть:
function handleData( responseData ) {
// Do what you want with the data
console.log(responseData);
}
$.ajax({
url: "hi.php",
...
success: function ( data, status, XHR ) {
handleData(data);
}
});
Возвращение чего-либо в обработчике ничего не сделает. Вы должны либо передавать данные, либо делать то, что хотите, непосредственно внутри функции успеха.
Этот ответ касается разработчиков для Windows. Вы хотите выбрать модуль синтаксического анализа XML, который НЕ зависит от node-expat . Node-expat требует node-gyp и node-gyp требует установки Visual Studio на вашем компьютере. Если ваш компьютер является Windows Server, вы определенно не хотите устанавливать Visual Studio на него.
Итак, какой модуль синтаксического анализа XML выбрать?
Сэкономить массу проблем и используйте либо xml2js , либо xmldoc . Они зависят от sax.js , который является чистым решением Javascript, которое не требует node-gyp.
Оба libxmljs и xml- stream требуют node-gyp. Не выбирайте их, если у вас уже установлена Visual Studio на вашем компьютере, или вы не против идти по этой дороге.
Обновление 2015-10-24: кажется, кто-то нашел решение для используйте node-gyp для Windows без установки VS: https://github.com/nodejs/node-gyp/issues/629#issuecomment-138276692
вы можете попробовать с помощью xml2js . Его простой конвертер объектов XML в JavaScript. Он превращает ваш xml в объект js, чтобы вы могли легко получить к ним доступ.
Вот некоторые другие варианты
Я использовал xml2js, и он отлично работал для меня. Отдых, возможно, придется попробовать.