我的AJAX功能存在问题。
通过我们的支付系统,我们允许用户根据个人代码自动获取地址。
我必须使用表单来实现此功能,但我不能让页面重新加载或更改其他字段中的值。所以我正在尝试使用AJAX。
问题是我尝试从AJAX文件中获取的信息没有得到回应。
我希望你能帮助我找出问题所在。
很抱歉代码的数量,我也不允许显示一些代码,因此在某些方面看起来很奇怪。
事先谢谢!
更新
我似乎有另一个问题。现在,当我得到结果时,如果用户在他/她的名字上有多个地址。我检查给定的地址是否存在,否则给出错误。因此,如果用户在其名称上注册了多个地址,则会获得正确的结果以及他们已注册的每个“额外”地址的错误。如果我无法访问mysql,有没有办法限制结果?
/更新
使用AJAX onclick()表单:
<form action="" method="post">
<label for="personcode"> Person/Org.nr: </label> <input type="text" name="prsnmr" id="personcode" />
<label for="zipcode"> Zipcode: </label> <input type="text" name="zipnmr" id="zipcode" />
<input type="button" name="submit" id="submit" value="Get my adress" onclick="getadress()"> <i>(YYMMDD-XXXX)</i>
</form>
AJAX
function getadress(){
$.ajax({
type: "POST",
url: "kassa_auto.php",
data: "prsnmr=" + document.getElementById("prsnmr").value +
"&postnmr=" + document.getElementById("postnmr").value,
success: function(html){
$("#response").html(html);
}
});
}
Div显示结果:
<div id="response"></div>
kassa_auto.php // iconv是因为原始语言是瑞典语(å,ä,ö与支付系统的效果不佳。)
if(isset($_POST['prsnmr'])){
$prsnmr = $_POST['prsnmr'];
}else{
$prsnmr = '';
}
$addrs = $k->getAddresses($prsnmr);
/* If there exists several addresses you would want to output a list in
which the customer could choose the address which suits him/her.
*/
// Print them if available:
foreach ($addrs as $key => $addr) {
$postnmr = $_POST['postnmr']; //Get the zip code
if($addr->getZipCode() == $postnmr){ //Limit to only show one adress based on the zipcode
?>
<?php
echo "<table style='margin-bottom:15px;' align='center'>\n";
echo "\t<tr><td colspan='3' align='center'><u>Information</u></td></tr>\n";
// This only works if the right getAddresses type is used.
if ($addr->isCompany) {
echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Företag</td><td><input name='foretag' autofocus='autofocus' id='foretag' type='text' readonly='readonly' value='{$addr->getCompanyName()}' /></td><td>Referens:</td><td><input name='reference' type='text' id='reference' /></td></tr>\n");
echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Adress:</td><td><input name='adress' id='adress' type='text' readonly='readonly' value='{$addr->getStreet()}' /></td><td>Telefon:</td><td><input name='telefon' type='text' id='telefon' /> </td></tr>\n");
echo "\t<tr><td>Postnr:</td><td><input name='postnummer' id='postnummer' type='text' readonly='readonly' value='{$addr->getZipCode()}' /></td></td></tr>\n";
echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Ort:</td><td><input name='ort' id='ort' type='text' readonly='readonly' value='{$addr->getCity()}' /></td><td>Meddelande:</td><td><textarea name='message' id='message' /></textarea></td></tr>\n");
echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Land:</td><td><input name='option1' id='option1' type='text' readonly='readonly' value='{$addr->getCountryCode()}' /></td><td> </td><td><input name='submit' type='submit' value='Gå vidare' /></td></tr>\n");
echo "</table>\n";
} else {
echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Förnamn:</td><td><input name='namn' autofocus='autofocus' id='namn' type='text' readonly='readonly' value='{$addr->getFirstName()}' /></td><td>Mobil:</td><td><input name='telefon' type='text' id='telefon' /> <i>(För avisering)</i> </td></tr>\n");
echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Efternamn:</td><td><input name='enamn' id='enamn' type='text' readonly='readonly' value='{$addr->getLastName()}' /></td><td>Epost:</td><td><input name='email' type='text' id='email' /></td></tr>\n");
echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Adress:</td><td><input name='adress' id='adress' type='text' readonly='readonly' value='{$addr->getStreet()}' /></td></tr>\n");
echo "\t<tr><td>Postnr:</td><td><input name='postnummer' id='postnummer' type='text' readonly='readonly' value='{$addr->getZipCode()}' /></td><td>Meddelande:</td><td><textarea name='message' id='message' /></textarea></td></tr>\n";
echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Ort:</td><td><input name='ort' id='ort' type='text' readonly='readonly' value='{$addr->getCity()}' /></td><td> </td><td><input name='submit' type='submit' value='Gå vidare' /></td></tr>\n");
echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Land:</td><td><input name='option1' id='option1' type='text' readonly='readonly' value='{$addr->getCountryCode()}' /></td></tr>\n");
}
echo "</table>\n";
?>
<?php
}elseif($addr->getZipCode() == NULL){
echo "We did not find a address with that zipcode";
}
}
?>