sash003,
Цитата:
return kids.length ? _A_(kids) : falseи так везде
function _init_(el){ if (!el) return
|
Знаешь, оно просто ничего не делает когда не находит, возвращает предыдущий просто. боюся лезть чтото менять, хотя раз ты говоришь, сделаю :)
|
рони,
Зацени :)
/* пишем аякс-функцию */
function ajax(obj){
try{var xhr = new XMLHttpRequest()
} catch(e1){try{
xhr = new ActiveXObject("Msxml2.XMLHTTP")
} catch(e2){try{
xhr = new ActiveXObject("Microsoft.XMLHTTP")
} catch(e3){ xhr = false
}
}
}
obj.type = obj.type || "GET" ;
if(obj.type === 'POST'){
var params = '';
for(i in obj.data){
params += i + '=' + obj.data[i] + '&';
}
params = params.slice(0, -1);
xhr.open("POST", obj.url, true);
xhr.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
//xhr.setRequestHeader("Content-length", params.length);
//xhr.setRequestHeader("Connection", "close");
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && xhr.status == 200){
obj.success(this['response' + obj.dataType]);
}
else console.log( "Ajax error: " + this.statusText);
}
xhr.send(params);
}
else if(obj.type === "GET"){
var params = '?';
for(i in obj.data){
params += i + '=' + obj.data[i] + '&'
}
params = params.slice(0, -1);
params += "&nocache=" + Math.random() * 1000000
//console.log(params);
xhr.open("GET", obj.url + params, true);
xhr.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200){
obj.success(this['response' + obj.dataType]);
}
else console.log( "Ajax error: " + this.statusText)
}
xhr.send(null);
}
}
ajax({
url : './test_ajax.php',
type: 'POST',
dataType: 'Text',
data: {name: 'sash', _data_ : 'true'},
success: function(response){
document.getElementById('response').innerHTML =
response;
}
});
|
Цитата:
|
KosBeg, сенк ю :)
Теперь надо придумать как сделать чтобы можно было делать загрузку файлов как у Дениса на сайте http://incode.pro/jquery/ajax-na-pra...ka-fajlov.html contentType: false, // важно - убираем форматирование данных по умолчанию processData: false, // важно - убираем преобразование строк по умолчанию Сделать проверку на тип данных (обьехт, строка) и ещё подскаж что забыл :) |
Полный вариант, не супер но сойдёт
function ajax(obj){
try{var xhr = new XMLHttpRequest()
} catch(e1){try{
var xhr = new ActiveXObject("Msxml2.XMLHTTP")
} catch(e2){try{
var xhr = new ActiveXObject("Microsoft.XMLHTTP")
} catch(e3){var xhr = false
}
}
}
obj.type = obj.type || "GET" ;
if(obj.type === 'POST'){
xhr.open("POST", obj.url, true);
var params = '';
if (typeof obj.data === 'string')
params = obj.data;
else if(typeof obj.data === 'object'){
if(obj.contentType === false){
params = obj.data;
console.log(params);
}
else{
for(var i in obj.data){
params += i + '=' + obj.data[i] + '&';
}
params = params.slice(0, -1);
console.log(params)
xhr.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
}
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); }
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && xhr.status == 200){
obj.success(this['response' + obj.dataType]);
}
else console.log( "Ajax error: " + this.statusText);
}
xhr.send(params);
}
else if(obj.type === "GET"){
var params = '?';
if (typeof obj.data === 'string')
params += obj.data;
else if(typeof obj.data === 'object'){
for(var i in obj.data){
params += i + '=' + encodeURIComponent(obj.data[i]) + '&'
}
params = params.slice(0, -1);
params += "&nocache=" + Math.random() * 1000000;
}
xhr.open("GET", obj.url + params, true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200){
obj.success(this['response' + obj.dataType]);
}
else console.log( "Ajax error: " + this.statusText)
}
xhr.send(null);
}
}
document.forms.f1.onsubmit = function(e){
e.preventDefault();
var formObj = {};
var elem = document.forms.f1;
var inputs = elem.querySelectorAll('[name]');
for(var i = 0; i < inputs.length; i++){
formObj[inputs[i].name] = inputs[i].value;
if(window.FormData) {
var formData = new FormData(document.forms.f1);
}
}
// попытка отправки
ajax({
url : './test_ajax.php',
type: 'POST',
dataType: 'Text',
contentType : false,
data:formData,//{text: document.querySelector('[name=text]').value, _data_ : 'true'},
success: function(response){
document.getElementById('response').innerHTML =
response;
}
});
}
|
Если есть свой ресурс с доступом к PHP, нарисовать простенький проксер GET запросов и дополнить либу кроссдоменным GET - Аяксом, часто востребовано. К примеру поиск картинок в гугле, или чтение RSS с ресурсов
|
Цитата:
как на бесплатный хостинг - очень даже неплохо, или например это - http://aws.amazon.com/ru/free/ Цитата:
Цитата:
|
KosBeg,
Я давно с PHP не баловался, помню только фичу, что нун трансформировать(через PHP) полученный прокси-запросом код страницы(Если он HTML) в UTF-8, если исходный в windows-1251, остальное вроде как в пяток строк. Начни с гугла, типо: - простое проксирование GET-запросов на PHP |
| Часовой пояс GMT +3, время: 17:05. |