Вы, похоже, неправильно поняли, что такое JSON и как он используется в jQuery!?
Если вы хотите сделать кросс-домен, возвращаемые данные должны быть в формате JSON. jQuery попытается проанализировать ваш JSON, как только он его получит. Он ожидает его в формате, подобном «jsonp1291171891383 ({})», который затем оценивается как JavaScript. XML, который вы вернули в не JavaScript.
Один из возможных способов обойти это - ваши возвращаемые данные - что-то вроде "jsonp1 ({" data ":" "})". Если это так, то в вашем примере переменная «data» представляет собой простой текст, и вам нужно будет проанализировать XML, прежде чем вы сможете получить к нему доступ с помощью методов селектора.
С здесь .
jQuery.fromXMLString = function(strXML){
if (window.DOMParser) {
return jQuery(new DOMParser().parseFromString(strXML, "text/xml"));
} else if (window.ActiveXObject) {
var doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async = "false";
doc.loadXML(strXML);
return jQuery(doc);
} else {
return jQuery(strXML);
}
};
А потом в вашем коде:
$.fromXMLString(data).find('Document').each( ... );