Мой профиль далеко не javascript но сейчас понадобилось написать код, который бы вызывал через ajax php скрипт, который бы переименовывал определённый блок в базе данных.
использую фрейворк jquery
На вход функции подаётся id объекта у которого берётся его value (объект - текстовое поле). После этого должен происходить запрос через ajax к моему второму скрипту, который после переименования возвращает цифровой код, по которому можно было бы определить как выполнился скрипт(для дебага).
Код вот такой
function rename(obj)
{
var val=obj.value
function onLoaded(data) {
var ch=data[0]
if (ch.id==1)
{alert("выполнено удачно")}
if (ch.id==2)
{alert("Не получено новое имя")}
if (ch.id==3)
{alert("не получен айди")}
if (ch.id==4)
{alert("ничего не получено")}
}
function onLoadError(error) {
var msg = "Ошибка "+error.errcode
if (error.message) msg = msg + ' :'+error.message
alert(msg)
}
function onAjaxError(xhr, status){
var errinfo = { errcode: status }
if (xhr.status != 200) {
errinfo.message = xhr.statusText
} else {
errinfo.message = 'Некорректные данные с сервера'
}
onLoadError(errinfo)
}
$.ajax({
url: "rename.php",
data: "id="+obj+"&name="val,
dataType: "json",
error: onAjaxError,
cache: false
})
}
функция rename должна вызываться кнопкой, но этого не происходит.
Если заменить вызов ajax на какой-нибудь алерт, то всё нормально.
По дебагеру Google Chrome пишет:" Uncaught ReferenceError: rename is not defined"
Саму структуру взял из другого скрипта и изменил только получаемые данные и функцию обработки получаемой информации.