2014-07-11 127 views
0

这里Ajax调用是我的问题:使用jQuery和JSON返回错误500

我试试,如果我这样做是为了做到与jQuery, 一个Ajax请求,而不使用“JSON”我没有错误...但使用json在我的情况是有用的,因为我必须检索3个不同的数据...所以一个数组是解决方案...当我执行代码时我已经准备好了状态4,错误500,...我想这是一个语法错误......但我不能找到它...

这里是从PHP代码文件我的Ajax调用:

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); 
} 

感谢您的帮助! :)

+0

您运行的是什么版本的PHP? 'json_encode'是在PHP 5.2中引入的,所以如果你有一个较早的版本,这可能会导致错误 –

+0

,问题不在于PHP的版本...我注意到,对于某些值它确定,对于一些其他值不是。 ..我认为这与我的分析数据库中包含的特殊字符有关... idk为什么...仍在搜索... – Julo0sS

+0

刚刚发现了这个问题,看看我的回答 –

回答

1

在此行上,您意外地分隔字符串。

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

这应该是

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

O ... M ... G ...我怎么会想念那个? oO 谢谢! :D – Julo0sS

+0

不用担心! :-) –

+0

只是打开一个新的线程与另一个问题,如果你想帮助:P JSON对象是非常敏感的大小写,字符,...有时它真的很难找到问题与json的地方......谢谢! – Julo0sS