我正在使用 firefox 14.0.1 和最新的 jquery。由于未转义的&符号,我的应用程序中出现以下代码错误。到现在为止还挺好。但是,当我将页面源复制到文件并让我的 Web 服务器提供该文件时,代码可以正常工作。任何想法这里发生了什么?
热情地
约翰
function create_dialog () {
var new_dialog = $('<div id="new_dialog"/>');
new_dialog.dialog({ autoOpen: true, modal: true, open: foo, height: 400 });
function foo() {
$.ajax({
url: 'http://localhost:8010/ecomm/?ajax=1&state=pop_pl_cst',
cache: false,
success: function (data, textStatus, jqXHR)
{ new_dialog.append('<div>' + 'foo A&E' + '</div>'); },
dataType: 'xml',
error: function(jqXHR, textStatus, fred ) {alert('oops ' + textStatus);},
});
}; // foo
}
编辑:以上是我的代码的简单版本,用于重现错误。下面是实际版本。虽然我可以转义与号等,但它并不能解释为什么相同的代码与看起来是同一页面的代码不同。一定有什么不一样的地方...
function create_dialog ( ) {
var new_dialog = $('<div id="new_dialog"/>');
new_dialog.dialog({ autoOpen: true, modal: true, open: foo, height: 400 });
function foo() {
$.ajax({
url: 'http://localhost:8010/ecomm/?ajax=1&state=pop_pl_cst',
cache: false,
success: success,
dataType: 'xml',
error: function(jqXHR, textStatus, fred ) {alert('oops ' + textStatus);},
});
function success(data, textStatus, jqXHR) {
// alert(data);
$(data).find('row').each(process_row);
function process_row () {
console.log($(this).attr('pop_text'));
new_dialog.append($('<div>' + $(this).attr('pop_text') + '</div>'));
// new_dialog.append('<div>' + 'foo' + '</div>');
}
} // success
}; // foo
}
我注意到的一件事是,当数据类型是文本时,jquery 在我的独立页面(有效的页面)中将其解析为 xml,但不在应用程序页面中。