Rya*_*ard 1 javascript ajax firebug
我正在使用AJAX系统提交表单,但我甚至无法加载我的JavaScript,Firebug报告如下.
missing ) after argument list
else if( httpRequest.responseText == 'already logged in' )\n
Run Code Online (Sandbox Code Playgroud)
我在互联网上搜索了一下,但我发现的只是引用错误.(例子,另一个例子).我没有任何错误引用,所以我真的不知道发生了什么.我的更多代码如下.
(删除了一些不相关的函数调用以删除加载消息.)
if(httpRequest.responseText != "failure") // Works fine!
{
document.getElementById("result").innerHTML = "[Success message]";
setTimeout("2000", function(){ window.location.assign("[link to page]");
}
else if(httpRequest.responseText == 'already logged in') // Similar to above, but fails
{
document.getElementById("result").innerHTML = "[error message]";
}
else
{
document.getElementById("result").innerHTML = "[error message]";
}
Run Code Online (Sandbox Code Playgroud)
可能有人知道为什么会出现这个错误?
(对于更多成员,可能有助于概述导致此错误的原因,这将允许此页面与其他代码一起使用)
这条线
setTimeout("2000", function(){ window.location.assign("[link to page]");
Run Code Online (Sandbox Code Playgroud)
错过})
导致下一行失败的问题(整个语法无论如何:)
它应该是
setTimeout (function(){ window.location.assign("[link to page]") } , 2000 );
Run Code Online (Sandbox Code Playgroud)
setTimeout
将函数作为第一个参数,将整数作为第二个参数.
如果您将代码分解得更多,您会发现问题:
setTimeout("2000", function()
{
window.location.assign("[link to page]");
Run Code Online (Sandbox Code Playgroud)
所以你错过了一个}和a);
setTimeout(function()
{
window.location.assign("[link to page]");
},2000);
Run Code Online (Sandbox Code Playgroud)
编辑:参数的顺序是错误的,就像卡斯帕指出的那样.