【问题标题】:ajax call with jquery and json return error 500使用 jquery 和 json 的 ajax 调用返回错误 500
【发布时间】:2014-07-11 08:20:57
【问题描述】:

这是我的问题:

我尝试用 JQuery 做一个 ajax 请求, 如果我不使用“json”就这样做,我没有错误......但在我的情况下使用json很有用,因为我必须检索3个不同的数据......所以一个数组是解决方案...... 当我执行代码时,我有 readyState 4,错误 500,......我猜这是一个语法错误......但我找不到它......

这是我的 ajax 调用的 php 文件中的代码:

if($country == 23){
    $doIt = $db->prepare("SET NAMES 'utf8'");
    $doIt->execute();
    $queryCom = "SELECT * FROM division WHERE division_country = $pays ORDER BY division_name";
    $mysql = $db->prepare($queryCom);
    $mysql->execute();
    $division='Division : <select required name="divisionD" id="divisionD">';
    foreach($mysql as $data){
        $division.='<option value="'.$data["division_id"].'">'.$data["division_name"].'</option>';
    }
    $division.='</select>';
    $town = '<option value=''>select division first...</option>';
    $cp = "<option value=''>select division first</option>";
    $res = array(
        'division'=>$division,
        'town'=>$town,
        'cp'=>$cp
    );
    echo json_encode($res);
}

感谢您的帮助! :)

【问题讨论】:

  • 你运行的是什么版本的php? json_encode 是在 PHP 5.2 中引入的,所以如果你有早期版本,这可能会导致错误
  • 好吧,问题不在于 php 的版本...我注意到对于某些值它可以,对于其他一些值则不是...我认为它与包含的特殊字符有关在我的数据库中......我知道为什么......仍在搜索......
  • 刚发现问题,看看我的回答

标签: jquery ajax json status


【解决方案1】:

在这一行中,您不小心分隔了字符串。

$town = '<option value=''>select division first...</option>';
                       ^^--- here is your issue

这应该是

$town = '<option value="">select division first...</option>';

【讨论】:

  • O...M...G...我怎么能错过呢?哦谢谢! :D
  • 如果您需要帮助,刚刚打开了一个新线程,其中包含另一个问题:P JSON 对象对大小写、字符非常敏感......有时很难找到 json 的问题所在......谢谢!
猜你喜欢
  • 2012-05-14
  • 2013-02-26
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多