Я новичок в jQuery и не смог отладить этот вызов ajax в Firebug:
Это мой вызов ajax:
var styndx = $('#studylist option:selected').val(); var studyname = $('#edit_field').val(); $.post("saveStudyName.php", {'type': 'update', 'studyname':studyname, 'styndx':styndx}, function(resultmsg) { $('#edit_field').val(''); $('#savebtn').attr('disabled',true); refresh_studynames(); });
И это функция refresh_studynames:
function refresh_studynames() { $.ajax({ url: 'getStudyNames.php', data: "", dataType: 'json', error: function() { alert('Refresh of study names failed.'); }, success: function(data) { $data.each(data, function(val, sname) { $('#studylist').append( $('<option></option>').val(val).html(sname) ) }); } }); }
Наконец, это php-скрипт getStudyNames.php ($ dbname, $ dbconnect, $ hostname заполнены и работает $ dbconnect, база данных – Postgres, а pg_fetch_all – функция Postgres в PHP, которая возвращает результат как массив):
$dbconnect = pg_pconnect("host=".$hostname." user=".$dbuser." dbname=".$dbname); if (!$dbconnect) { showerror(0,"Failed to connect to database",'saveStudyName',30,"username=".$dbuser.", dbname=".$dbname); exit; } $sql = "SELECT ST.studyindex,ST.studyabrv AS studyname FROM ibg_studies ST ORDER BY studyname"; $fetchresult = pg_exec($dbconnect, $sql); if ($fetchresult) { $array = pg_fetch_all($fetchresult); echo json_encode($array); } else { $msg = "Failure! SQL="+$sql; echo $msg; }
Любая помощь очень ценится ….