我的http://alpha.spherecat1.com/上的jQuery代码有问题,但是本地副本可以正常工作。如您所见,如果您现在访问该站点,那么ajax调用将产生以下错误:
“ TypeError:无法读取null的属性’documentElement’”
我已经检查并重新检查并重新上传了我能想到的所有内容。该文档说以确保我发送了正确的MIME类型,但是我没有用。这是令人反感的代码:
function changePageAJAX(newPage, method) { if (method != "replace") { window.location.hash = newPage; } newPage = newPage.substring(1); // Remove the hash symbol. title = "SphereCat1.com | " + fixCase(newPage.replace(/\//g, " > ")); // Set the window title. newPage = "ajax/" + newPage + ".html"; // Add path. if (newPage == currentPage) { return; // Don't let them load the current page again. } $.ajax({ // jQuery makes me feel like a code ninja. url: newPage, dataType: "xml", success: function(data, status, xmlhttp){ renderPage(xmlhttp); }, error: function(xmlhttp, status, error){ alert(error); renderPage(xmlhttp); } }); document.title = title; currentPage = newPage; }
然后继续将页面渲染为div。它抓取的页面在上一个URL的/ ajax文件夹中可见。您能提供的任何帮助将不胜感激!
从ajax调用抛出错误:
error: function(xmlhttp, status, error)...
由于您期望使用XML数据类型,因此对“ ajax / home.html” URL的调用将返回哑剧类型“ text / html”。您可能希望完全省略dataType,以便jQuery进行智能猜测。例如:
$.ajax({ // jQuery makes me feel like a code ninja. url: newPage, success: function(data, status, xmlhttp){ renderPage(xmlhttp); }, error: function(xmlhttp, status, error){ alert(error); renderPage(xmlhttp); } });
您也有以下alert()的appendCSS,我认为是用于调试?:
alert()
appendCSS
function appendCSS(filename) { alert(filename); if (filename != null) { $("head").append("<link rel='stylesheet' id='extracss' href='"+filename+"' type='text/css' />"); } }