我知道它已被多次詢問,但我似乎無法將closure
的東西找出來,至少我似乎無法將它應用於我自己的代碼。Ajax調用for循環僅返回相同的值一次
這裏我創建了一個基於.choice
類的for循環。
<label class="choice" data-id="1"><input type="radio" name="group1" value="een">een</label>
<label class="choice" data-id="2"><input type="radio" name="group1" value="twee">twee</label>
<label class="choice" data-id="3"><input type="radio" name="group1" value="drie">drie</label>
<label class="choice" data-id="4"><input type="radio" name="group1" value="vier">vier</label>
$(document).ready(function(){
for (var i = $('.choice').length - 1; i >= 0; i--) {
var element = $('.choice')[i];
var choiceID = $(element).data('id');
var value = $(element).find('input').val();
$.ajax({
method: "POST",
url: 'api.php',
data: {
choiceID: choiceID,
value: value
},
success: function(res) {
if(value == JSON.parse(res).value) {
console.log(JSON.parse(res).value);
console.log(JSON.parse(res).count);
if(JSON.parse(res).count > 0){
$(element).addClass('full');
}
} else {
// console.log("FAILED " + JSON.parse(res).value);
// console.log("FAILED " + JSON.parse(res).count);
}
}
});
}
});
然後在api.php
文件我稱之爲多個查詢的
$choiceID = $_POST["choiceID"];
$value = $_POST["value"];
$kolom = "choice_" . $choiceID;
$counter = 0;
$array = [];
$query = "SELECT choice_1 FROM resultaten WHERE choice_1 = '".$value."'";
$getCount = $db->query($query);
$getCount->execute(array("value"=>$value));
$results = $getCount->fetchAll(PDO::FETCH_ASSOC);
more queries and for loops
AJAX更迭回調 echo json_encode(array("value" => $value, "count"=> $counter, "ID" => $choiceID));
第一個choice
類1
的data-id
它的工作原理和應用類full
但是當我console.log的value
和count
返回een 1
並在控制檯 VM1982:1 Uncaught SyntaxError: Unexpected token < in JSON at position 1
或許事做的1/2/3/4
等data-id
(我想應該都是one
),但是當我把他們都1
它只是適用於第一個。與當我使用1/2/3/4
作爲data-id
時相同。同時它是有點兒奇怪,它有一定的成果返回<br /> <b>Notice</b>: Undefined index: choice_2 in <b>C:\xampp\htdocs\form\api.php</b> on line <b>47</b><br /> {"value":"use your apple","count":2,"ID":"2"}
它說,它有2 count
,並在阿賈克斯它說當count
以上= 0它前人的精力給類full
,但它給人的undefined index: choice_2
代替
我認爲這將導致主要問題
當我console.log
value
的succes
函數返回een
這是choice
類的first
值內。
而當我console.log
value
低於value
變量時,它會返回所有變量。