我在一個循環(使用JS)生成一系列變量,我分配他們.id
和.name
根據當前的索引。在每個循環中,我使用jQuery.post()
方法向服務器發送請求,但返回的響應只是一個空變量。 下面的代碼:jQuery.post()動態生成的數據到服務器返回空響應
的JavaScript
for (var index = 0; index < 5; index++) {
var myVar = document.createElement('p');
myVar.id = 'myVarID' + index;
myVar.name = 'myVarName' + index;
//Send request to server
$(document).ready(function(){
var data = {};
var i = 'ind';
var id = myVar.id;
var name = myVar.name;
data[id] = name;
data[i] = index;
$.post("script.php", data, function(data){
console.log("Server response:", data);
});
});
}
PHP
<?php
$index = $_POST['ind'];
$myVar = $_POST['myVarID'.$index];
echo $myVar;
?>
響應:Server response: ''
如果我不是在JS代碼中設置一個靜態指標,GE擬合擺脫循環的,因此,例如:
var index = 0;
我得到預期的結果:Server response: myVarName0
這究竟是爲什麼?我該如何解決它?
謝謝你的努力,但是這是不是一個真正的回答我的問題。我試圖理解爲什麼我的代碼使用靜態變量而不是動態變量。 – leota