2014-07-11 118 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