私は、数値のリストを生成するPHP関数と、その配列を取得するためのajax呼び出しを持っています。私はリストを警告することができますが、それはうまくいきますが、HTMLテーブルに印刷しようとすると「Uncaught TypeError:インフィニティの 'length'を検索するために 'in'演算子を使用できません」というエラーが表示されます 助けてください。Ajaxデータをhtmlテーブルに出力するエラー
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<script>
$.ajax({
type: "POST",
url: "primeNumbers.php",
datatype: 'JSON',
success: function(data){
var d = $.each(JSON.parse(data));
var output;
$.each(d,function(i,e){
output += '<tr><td>'+e.data+'</tr></td>';
});
$('#table').append(output);
alert(data);
}
});
</script>
<h1>Heading</h1>
<table id="table">
<tr>
<td>Name</td>
</tr>
</table>
</body>
</html>
primeNumbers.php
<?php
function prima($n){
for($i=1;$i<=$n;$i++){
$counter = 0;
for($j=1;$j<=$i;$j++){
if($i % $j==0){
$counter++;
}
}
if($counter==2){
echo json_encode($i);
}
}
}
prima(100);
?>
あなたのPHPスクリプトの出力を見ましたか?それはちょうど非常に大きな数字を出力します。素数をPHPスクリプトの配列に入れ、その配列のjson版を出力する必要があります。 – NineBerry
Btw:これは素数を計算するのに非常に非効率な方法です – NineBerry