2014-01-12 3 views
0

Может быть проще всего просмотреть комментарии в этом коде. Насколько я знаю, это домашнее хозяйство для всего кода AJAX, но я не понимаю его частей!Пара основных вопросов, касающихся кода управления AJAX

var xmlHttp = createXmlHttpRequestObject(); 

function createXmlHttpRequestObject() { 
    var xmlHttp; 
//Why are we calling/redefining the xmlHttp variable? 
// Why define it as createXmlHttpRequestObject() in the first place? 

    if(window.XMLHttpRequest) { 
     xmlHttp = new XMLHttpRequest(); //What exactly is an XMLHttpRequest? 
    }else{ 
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    return xmlHttp; 
} 

Возможно, глупый вопрос: нужен ли объект xml для AJAX? Я знаю его часть аббревиатуры, но у меня не было впечатления, что ответы сервера должны быть в формате XML.

Прошу прощения, если это неправильный способ поставить этот вопрос, но я в недоумении и не знаю, куда еще я могу пойти!

ответ

1
//Why are we calling/redefining the xmlHttp variable? 

Мы не.

// Why define it as createXmlHttpRequestObject() in the first place? 

Мы не делали.

Это две разные переменные. Один из них локальный, другой - нет. К сожалению, автор выбрал одно и то же имя для обоих, так как это вас смутило.

В конечном итоге они заканчивают тем же ресурсом, поскольку локальный возвращается из функции и становится значением нелокального.

Рассмотрим следующий подобный пример:

function foo() { 
    var x = 0; 
    return x; 
} 

var y = foo(); 

Это просто так, за исключением того, в вашем коде, определение функции пришли после вызова, а переменные произошло иметь такое же имя. И ваша функция сделала с ним более интересные вещи. :)


// What exactly is an XMLHttpRequest? 

Это внутреннее имя кусочком технологии внутри вашего браузера, что делает AJAX произойдет. Вы должны просто Google это для всех сочных деталей.

Является ли объект xml обязательным для AJAX? Я знаю его часть аббревиатуры, но у меня не было впечатления, что ответы сервера должны быть в формате XML.

№ Исторически XmlHttpRequest был разработан для XML, отсюда и название, но это отнюдь не требование. Честно говоря, я бы сказал, что это довольно редко в наши дни; такие люди, как JSON, как обменный формат ... хотя, я уверен, в некоторых организациях вы все еще не можете уйти от 1990-х годов.


Насколько я знаю, что это домашнее хозяйство для всего кода AJAX

На самом деле, так как вы помечено этот вопрос , вы не должны делать любой этого. jQuery будет внутренне выполнять все подобные gubbins, позволяя вам придерживаться the handy $.get-family of functions. Опять же, все подробности можно найти в Интернете.

Смежные вопросы