我从ajax请求获得响应(由jquery完成)。
我有一个向用户显示错误的方法。有时虽然我有一些其他信息与json请求一起出现。
所以我不希望显示此信息(其余错误在哪里)。所以我想,因为我总是知道json返回的长度我可以缩短长度,因为错误方法只使用了一个while循环所以如果它少一个那么它将不会显示json部分。
所以我做了这个
var length = result.length -1;
ErrorsMethod(result, length); // call function.
function ErrorsMethod(result, length)
{
while( i < length)
{
// do stuff.
}
}
虽然长度在传入时总是未定义的。我不明白为什么。
然后我尝试了
length.length parseInt函数(长度);
似乎无效。我甚至都不知道我在做什么。当我在进入函数之前发出“长度”变量的警报时,它会吐出一个数字。
答案 0 :(得分:3)
你正确地调用了parseInt吗?
var length = parseInt(result.length) - 1;
ErrorsMethod(result, length);
ErrorsMethod(result, length); // call function.
function ErrorsMethod(result, length)
{
while( i < length)
{
// do stuff.
}
}
答案 1 :(得分:1)
ErrorsMethod(result); // call function.
function ErrorsMethod(result)
{
if (result && result.length)
for ( var i = 0 ; i < result.length ; ++i )
{
// do stuff.
}
}
答案 2 :(得分:0)
也不是结果或我是定义的变量,这可能是脚本停止执行的原因。尝试这样的事情:
<script type="text/javascript">
var result = [10, 2];
var length = result.length;
ErrorsMethod(result, length); // call function.
function ErrorsMethod(result, length)
{
var i=0;
while( i < length)
{
// do stuff.
alert(i);
i++;
}
}
</script>