Javascript语法错误
有人知道为什么会抛出语法错误吗?所有代码在我看来都是正确的Javascript语法错误,javascript,xmlhttprequest,Javascript,Xmlhttprequest,有人知道为什么会抛出语法错误吗?所有代码在我看来都是正确的 <script type="text/javascript"> var rootdomain="http://"+window.location.hostname; function ajaxinclude(url) { var pagerequest = false; if (window.XMLHttpRequest) // if Mozilla, Safari etc pagere
<script type="text/javascript">
var rootdomain="http://"+window.location.hostname;
function ajaxinclude(url)
{
var pagerequest = false;
if (window.XMLHttpRequest) // if Mozilla, Safari etc
pagerequest = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
pagerequest = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
pagerequest = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
pagerequest.open('GET', url, false) //get page synchronously
pagerequest.send(null)
writecontent(pagerequest)
}
function writecontent(page_request){
if (window.location.href.indexOf("http")==-1 || pagerequest.status==200)
document.getElementById("page1").innerHTML = pagerequest.responseText;
}
var rootdomain=“http://”+window.location.hostname;
函数ajaxinclude(url)
{
var pagerequest=false;
if(window.XMLHttpRequest)//if Mozilla、Safari等
pagerequest=新的XMLHttpRequest()
else if(window.ActiveXObject){//if IE
试一试{
pagerequest=新的ActiveXObject(“Msxml2.XMLHTTP”)
}
捕获(e){
试一试{
pagerequest=新的ActiveXObject(“Microsoft.XMLHTTP”)
}
捕获(e){}
}
}
其他的
返回错误
pagerequest.open('GET',url,false)//同步获取页面
pagerequest.send(空)
writecontent(页面请求)
}
函数writecontent(第页请求){
if(window.location.href.indexOf(“http”)=-1 | | pagerequest.status==200)
document.getElementById(“page1”).innerHTML=pagerequest.responseText;
}
它在第7行抛出一个错误——var pagerequest=false
如果你把它注释掉,它只会在下一行抛出一个错误。有什么想法吗
提前感谢您的帮助第一件事优先-利用 它不喜欢您的
writecontent
函数
并且pagerequest=new XMLHttpRequest()
缺少分号
此外,我还喜欢通过YUI压缩器“撕裂”我的javascript,以帮助揭示语法错误
还有一些缺少的分号:
pagerequest = new ActiveXObject("Msxml2.XMLHTTP")
pagerequest = new ActiveXObject("Microsoft.XMLHTTP")
还有一件事。尽管javascript允许您做一些事情,但并不意味着您应该这样做。将pagerequest声明为布尔值,然后将其设置为ActiveXObject有点混乱。我可能会将其初始化为null。然后在代码的后面“测试”null。第一件事优先-利用 它不喜欢您的
writecontent
函数
并且pagerequest=new XMLHttpRequest()
缺少分号
此外,我还喜欢通过YUI压缩器“撕裂”我的javascript,以帮助揭示语法错误
还有一些缺少的分号:
pagerequest = new ActiveXObject("Msxml2.XMLHTTP")
pagerequest = new ActiveXObject("Microsoft.XMLHTTP")
还有一件事。尽管javascript允许您做一些事情,但并不意味着您应该这样做。将pagerequest声明为布尔值,然后将其设置为ActiveXObject有点混乱。我可能会将其初始化为null。然后在代码中的下面“测试”null。Yopur writecontent错误(参数命名)请尝试: 此外,这也没有真正的价值:
var pagerequest = false;
如果不在代码中的其他地方设置它,就不会返回它,那么最好是:
var pagerequest;
Yopur writecontent错误(参数命名)请尝试: 此外,这也没有真正的价值:
var pagerequest = false;
如果不在代码中的其他地方设置它,就不会返回它,那么最好是:
var pagerequest;
几乎所有行都缺少分号 清理代码:
function ajaxinclude(url) {
var pagerequest;
if (window.XMLHttpRequest) { // if Mozilla, Safari etc
pagerequest = new XMLHttpRequest();
} else if (window.ActiveXObject){ // if IE
try {
pagerequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
pagerequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (ec) {}
}
}
else {
return false;
}
pagerequest.open('GET', url, false); // get page synchronously
pagerequest.send();
writecontent(pagerequest);
}
function writecontent (page_request) {
if (window.location.href.indexOf("http") == -1 || page_request.status == 200) {
document.getElementById("page1").innerHTML = page_request.responseText;
}
}
几乎所有行都缺少分号 清理代码:
function ajaxinclude(url) {
var pagerequest;
if (window.XMLHttpRequest) { // if Mozilla, Safari etc
pagerequest = new XMLHttpRequest();
} else if (window.ActiveXObject){ // if IE
try {
pagerequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
pagerequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (ec) {}
}
}
else {
return false;
}
pagerequest.open('GET', url, false); // get page synchronously
pagerequest.send();
writecontent(pagerequest);
}
function writecontent (page_request) {
if (window.location.href.indexOf("http") == -1 || page_request.status == 200) {
document.getElementById("page1").innerHTML = page_request.responseText;
}
}
在
writecontent
函数中,调用参数page\u request
,然后在函数体中将其称为pagerequest
(不带下划线)
否则,您的代码应该正常工作——请参见示例。在
writecontent
函数中,您调用参数page\u request
,然后在函数体中将其称为pagerequest
(不带下划线)
否则,您的代码应该正常工作——请参阅示例。您的代码无效。分号在代码中没有分号或它认为应该有分号时被添加到代码中 所以在
function ajaxinclude(url)
{
var pagerequest = false;
if (window.XMLHttpRequest) // if Mozilla, Safari etc
pagerequest = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
javascript编译器将执行以下操作
function ajaxinclude(url); // note the semi-color meaning the { starts floating in the middle of nowhere
{
var pagerequest = false;
if (window.XMLHttpRequest) // if Mozilla, Safari etc
pagerequest = new XMLHttpRequest();
else if (window.ActiveXObject){ // if IE
try { //and so on
正如大多数人建议的那样,运行JSLint查看错误
根据评论编辑
您可以在中看到分号插入的详细信息。您的代码无效。分号在代码中没有分号或它认为应该有分号时被添加到代码中 所以在
function ajaxinclude(url)
{
var pagerequest = false;
if (window.XMLHttpRequest) // if Mozilla, Safari etc
pagerequest = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
javascript编译器将执行以下操作
function ajaxinclude(url); // note the semi-color meaning the { starts floating in the middle of nowhere
{
var pagerequest = false;
if (window.XMLHttpRequest) // if Mozilla, Safari etc
pagerequest = new XMLHttpRequest();
else if (window.ActiveXObject){ // if IE
try { //and so on
正如大多数人建议的那样,运行JSLint查看错误
根据评论编辑
您可以在中看到分号插入的详细信息。分号在Javascript中(通常)是可选的,它会自动执行。分号在Javascript中(通常)是可选的,它会自动执行。它真的这样做吗?你是说左大括号必须与
函数
关键字在同一行吗?如果是这样的话,我一直在做错事。@segfault是的,它确实做了,但是如果你正常地缩小你的代码,你就可以摆脱它。我已经添加了一个链接到我的答案显示它没有!函数语句总是有一个主体。在正文前插入分号会导致语法错误。这与return语句不同。该语言规定不能在return
关键字和返回值表达式之间换行。因此,在换行符之前插入分号可以消除语法错误。它真的做到了吗?你是说左大括号必须与函数
关键字在同一行吗?如果是这样的话,我一直在做错事。@segfault是的,它确实做了,但是如果你正常地缩小你的代码,你就可以摆脱它。我已经添加了一个链接到我的答案显示它没有!函数语句总是有一个主体。在正文前插入分号会导致语法错误。这与return语句不同。该语言规定不能在return
关键字和返回值表达式之间换行。因此,在换行符之前插入分号可以消除语法错误。该错误只是一个简单的“语法错误”。我已经考虑了下面的人所说的,我仍然会遇到错误。问题不在于writecontent()函数,而在于ajaxinclude()函数。我还想提一提,你没有