我正在尝试在我的项目中进行ajax操作,该项目是由Userfrosting系统(使用slim框架和twig的系统)开发的。
sections.php 中有 2 个 html 选择标签,分别称为国家和城市。 选择国家/地区后,该国家/地区的城市将从以下列表中选择 数据库并将通过 ajax 操作显示在城市标签中。
我可以用普通的 php 脚本来做到这一点,但不能在 slim 中做到这一点。
sections.php
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".country").change(function() {
var veri = $(this).val();
var dataString = 'veri=' + veri;
$.ajax({
type: "POST",
url: "deneme.php",
data: dataString,
cache: false,
success: function(html) {
$(".city").html(html);
}
});
});
});
</script>
<label>Country :</label>
<select name="country" class="country">
<option selected="selected">--Select Country--</option>
<option value="1">India</option>
<option value="2">United States</option>
<option value="3">United Kingdom</option>
</select>
<br/>
<br/>
<label>City :</label>
<select name="city" class="city">
<option selected="selected">--Select City--</option>
</select>
发布值“veri”将由 deneme.php 获取,并且将从数据库中获取该国家/地区的城市,并且所有城市都将在选项中列出。
deneme.php
require_once("../userfrosting/config-userfrosting.php");
require_once "../userfrosting/models/mysql/MySqlSiteSettings.php";
$veri = $app->request->post('veri');
if (isset($veri)) {
while ($data = $app->site->getCities($veri)) {
$cities = $data[city];
echo '<option value="'.$cities.
'">'.$cities.
'</option>';
}
当我选择国家/地区时,城市选项变为空,并且我在错误日志中收到此错误;
"PHP Fatal error: Call to a member function
getAktiviteler()
on a non-object inC:\xampp\htdocs\userfrosting\public\deneme.php
on line 119"
我用了很多不同的方法,但都无法解决问题。 请帮忙!
最佳答案
正如 alexw 所说,我浏览了 UserFrosting 和 Slim 教程并重组了我的代码。从数据库获取数据以及 javascript 部分都存在问题。现在我的问题解决了。谢谢亚历克斯。
关于javascript - 对 slim 框架和 javascript ajax 组合感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33583267/