私のアプリでは、JSONから取得している結合配列としてのオブジェクトマップがあります。これは質問と各質問に対する4つの回答を含む地図です。次に、私は答えをdivにするためのラジオボタンとしてdivとanswerに質問を追加しようとしています。すべてが1つのことなく完璧に動作しているようです。私のdivsページにコンテンツを追加した後、リロード中です。だから私の質問は、この場合にページの再読み込みを防ぐ方法です。私はajaxコールを使ってみましたが、残念ながら失敗しました。 私のコードは以下のとおりである:ページをリロードせずにクリックするとdivにコンテンツを追加する
<script>
$(document).ready(function(){
var questions = [];
$.getJSON("/exam/json", function (result) {
var map = {};
var response = result;
for (var i = 0, l = response.length; i < l; i++) {
map[response[i].id] = response[i];
}
$('#nextButton').click(function(){
prepareQuestion(map);
});
});
});
function prepareQuestion(questionList){
var actualQuestionIndex = String(Math.floor(Math.random() * Object.keys(questionList).length) + 1);
$('#question').append(questionList[actualQuestionIndex].question);
if(questionList[actualQuestionIndex].ansc === null){
$('#answers').append("<input type='radio' name='ansa' value='A'>"+questionList[actualQuestionIndex].ansa+"<br>");
$('#answers').append("<input type='radio' name='ansb' value='B'>"+questionList[actualQuestionIndex].ansb+"<br>");
}else{
$('#answers').append("<input type='radio' name='ansa' value='A'>"+questionList[actualQuestionIndex].ansa+"<br>");
$('#answers').append("<input type='radio' name='ansb' value='B'>"+questionList[actualQuestionIndex].ansb+"<br>");
$('#answers').append("<input type='radio' name='ansc' value='C'>"+questionList[actualQuestionIndex].ansc+"<br>");
$('#answers').append("<input type='radio' name='ansd' value='D'>"+questionList[actualQuestionIndex].ansd+"<br>");
}
delete map[actualQuestionIndex];
}
</script>
あなたのJavascriptを見ると、ページがリロードされるようなものは見当たりませんし、DOM要素を編集してもページがリロードされることはありません。このJavascriptが関連するHTMLを提供してください。 –
あなたのコードスニペットによると、あなたのページはリロードできません。あなたは何か他のことを間違っているかもしれない –