0
您好,我有一些麻煩解析來自一個ruby函數的JSON呈現數組,到一個JAVASCRIPT數組。JSON解析中的空數組
紅寶石函數genereta 12張的隨機數從「S」到「e」:
def genArrayNum(s,e)
start=s
i=0
nums=Array.new
array=Array.new
while s<e
nums.push s+1
s+=1
end
while i<12
j=rand(0..11)
array.push nums[j]
nums.delete_at(j)
i+=1
end
return array
end
紅寶石函數呈現JSON陣列,我將傳遞到AJAX功能,我將從一個按鈕調用:
def generateSound
i=0
path="audios/"
s=Puntata2.find(2).audioStart
e=Puntata2.find(2).audioEnd
array=genArrayNum(s,e)
array2=Array.new
while i<12
param=path+StimoloAudio.find(array[i]).name
array2.push param
i+=1
end
render json:{arr2:array2}
end
的2個紅寶石功能正常工作產生,我需要
這裏JS功能的聲音的所有路徑:
function call_ajaxEs2(){
$.ajax({ type:'POST', url:'/esercizio2s/generateSound',data{},
success:function(data){
var obj=JSON.parse(data.arr2);
return obj;
},
error:function(){
alert("Error call_ajaxEs2()");
}
});
} 現在我調用這個函數在那裏我已經解析了數組:
function stickman(){
var arr=call_ajaxEs2();
var stickCounter=0;
if(stickCounter<12){
if(arr=null)alert("arr null");
document.getElementById('cloud-sndEs2').setAttribute("src",arr[stickCounter]);
stickCounter++;
}else alert("end stickman");
}
所以問題是:每次我刷新頁面或我開始alert("arr null")
出現的頁面,從而使意味着我解析的數組是空的。 那我在哪裏錯了?錯誤在哪裏? 謝謝。
我已經忘了告訴你,我調用函數火柴人()從一個名爲「火柴人」按鈕,因爲我需要更改和複製目標聲音每次我一下就可以了,我的意思是:第一次點擊我聽到的聲音,第二次點擊聲音變化與下一個並重現它,我做這個操作,直到我達到12聲音轉載 –
@盧克抱歉的遲到的答覆。我更新了答案。 – RRK
語法錯誤:JSON.parse:第1行的JSON數據的列1意外的字符...所以現在我覺得現在的問題是,我從紅寶石函數生成JSON ... –