1

我正在准备在我的项目中进行 ajax 操作,该项目由 Userfrosting 系统(一个使用苗条框架和树枝的系统)开发。

section.php 中有 2 个 html 选择标签,分别称为国家和城市。选择国家/地区时,该国家/地区的城市将从数据库中选择,并将显示在带有 ajax 操作的城市标签中。

我可以用普通的 php 脚本做到这一点,但不能做到这一点。

部分.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 致命错误:在第 119 行调用getAktiviteler()非对象的成员函数”C:\xampp\htdocs\userfrosting\public\deneme.php

我使用了许多不同的方法,但无法解决问题。请帮忙 !

4

1 回答 1

1

正如 alexw 所说,我浏览了 UserFrosting 和 Slim 教程并重组了我的代码。从数据库和 javascript 部分获取数据时存在问题。现在我的问题解决了。谢谢亚历克斯。

于 2015-11-18T07:30:38.003 回答