См. Эту статью для ознакомления с основами AJAX, которые вы, вероятно, уже сделали.
В итоге, три шага:
//Step 1. get the XMLHTTPRequest object
if (window.XMLHttpRequest) //All mordern browsers
{
obj = new XMLHttpRequest();
}
else if (window.ActiveXObject) //IE6, 7
{
obj = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Your browser does not support AJAX");
return;
}
// Step 2: set the callback function, as processMoodUpdateResponse
//This function will be called when the response for the
//call (done in step 3) comes back
obj.onreadystatechange = processMoodUpdateResponse;
// Step 3: Do the server call.
//"POST" is the request type, true for asynchronous request
var url = "moodupdate?mood_desc="+str_mood_desc+"&mood_color="+str_mood_color
obj.open("POST", "moodupdate", true);
obj.send();
//The callback function
function processMoodUpdateResponse()
{
ax_get_mood();
alert( "Mood Updated");
}
Код, который вы унаследовали, использует JQuery Ajax.
Следующее создает запрос Ajax, регистрирует обратный вызов и отправляет, эквивалентно приведенному выше (и, конечно, более jquerish и проще)
$.ajax({
type: "POST",
url: "moodupdate",
data: "mood_desc="+str_mood_desc+"&mood_color="+str_mood_color,
success: function(msg)
{
ax_get_mood();
alert( "Mood Updated");
}
})
getJSON
- это еще один метод из jQuery для вызова сервера и получения ответа JSON
. Странно, что обратный вызов Ajax (который вызывается при получении ответа) делает еще один вызов Ajax.
$('#current_mood_color')
эквивалентно document.getElementById('current_mood_color');
. Это способ выбора элемента jquery по его идентификатору. JQuery как очень мощный (и удобный) селектор API , и это один из основных способов выбора элемента.
#someThing
относится к элементу с идентификатором someThing
, поэтому поиск someThing
в вашей кодовой базе вернет что-то.