我知道它已被多次询问,但我似乎无法将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
变量时,它会返回所有变量。