【发布时间】:2013-08-20 14:26:09
【问题描述】:
我通过 Ajax 使用 PHP 返回一个客户地址数组(作为地址返回)。 我 document.write 完美显示数组的addresses.responseText
Array ( [0] => Array ( [addressID] => 15804 [customerID] => 10 [loanID] => [address1] => 6 Road [address2] => [address3] => [town] => Their Town [county] => Their County [postCode] => Their postCode [reason] => [current] => 1 [timestamp] => 2013-03-13 14:41:39 ) [1] => Array ( [addressID] => 10 [customerID] => 10 [loanID] => [address1] => 21A Road [address2] => [address3] => [town] => Their 2nd Town [county] => Their 2nd County [postCode] => Their 2nd postCode [reason] => [current] => 0 [timestamp] => 2013-03-13 14:41:39 ) )
我在循环和使用数组信息时遇到了问题。
new Ajax.Request('includes/ajax.php',
{
method:'post',
parameters: {addCustID: customerID},
onSuccess: function(addresses){
document.write(addresses.responseText);
for (var i in addresses)
{
if(i == "responseText")
{
addressExpander.addEntry(addresses[i]);
}
}
},
onFailure: function(){ alert('Something went wrong...') }
});
我想为每个地址运行addressExpander.addEntry(addresses[i]);,但它只显示一次,而不是每个地址。
我尝试在if(i == "responseText") 循环中循环通过addresses.responseText,但它没有做任何事情。
顺便说一下,我正在使用Prototype,它已经在页面中使用了。
【问题讨论】:
-
将
if(i == "responseText")更改为if(addresses[i] == "responseText")否则您将比较索引而不是变量的实际值。 -
谢谢,虽然我这样做了,现在 addressExpander.addEntry(addresses[i]);根本不运行
-
这意味着
addresses中包含的值都不包含"responseText"的值。
标签: php javascript ajax arrays prototype