Jump to content


Photo

Ajax-onreadystatechange E Passar Funcao Como Param


  • Faça o login para participar
19 replies to this topic

#1 ddacal

ddacal

    nheco

  • Usuários
  • 147 posts
  • Sexo:Não informado
  • Interesses:Webdesign<br>Design em geral<br>Fotografia<br>Publicidade

Posted 20/01/2006, 09:20

Fala pessoas...
Eu finalmente comecei a rachar a cabeça com o ajax e me deparei com um problema que nao to conseguindo sair, tipo.. essa sintaxe aih depois do evento [abrir(num);] está errada, certo? aqui, ao menos nao funciona, o js simplesmente pára de rodar aih.

O negocio eh o seguinte, como eu faço a chamada dessa "abrir", passando um parametro pra ela? pq dessa forma aih nao tah rolando.

Obrigado!
function carrega(url, num){
	xmlhttp.open("GET", url, true);
	xmlhttp.onreadystatechange = abrir(num);
	xmlhttp.send(null);	
}


Deixa eu aproveitar e fazer outra pergunta,

Existe como eu passar uma função como parâmetro assim como é feito em C? minha ideia é que eu tenha uma só funçao base pra abrir qq arquivo, e essa mesma chamaria qq outra funçao, que seria especifica para trabalhar com cada tipo de arquivo que eu abrisse.
Entenderam?

exemplo:
function carrega(url, num, funcao){
	xmlhttp.open("GET", url, true);
	xmlhttp.onreadystatechange = funcao;
	xmlhttp.send(null);	
}

Edição feita por: ddacal, 20/01/2006, 10:07.

Diego Dacal
Webdesigner

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 25/01/2006, 08:30

Pergunta 1: Sim! Basta criar uma função anônima.

function carrega(url, num){
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function() { abrir(num); }
xmlhttp.send(null);
}


Pergunta 2: Sim! Javascript oferece também esta flexibilidade, muita usada para callbacks!
Klaus Paiva
Conheça também: Taperás

#3 ddacal

ddacal

    nheco

  • Usuários
  • 147 posts
  • Sexo:Não informado
  • Interesses:Webdesign<br>Design em geral<br>Fotografia<br>Publicidade

Posted 03/02/2006, 10:27

otimas essas duas respostas...
mas tipo,

eu achei aquele "eval(nomedafunc)"... mas nesse caso desse tipo de chamada num da pra passar os parametros pra func q tah sendo chamada... no caso eu queria fazer algo do tipo...

funcao = "abrir('abc', 'abc2')"; 

function carrega(url, num, funcao){
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function() { eval(funcao); }
xmlhttp.send(null);
}

isso nao funciona... como eu faria algo do tipo?!
Diego Dacal
Webdesigner

#4 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 03/02/2006, 11:45

Desculpe mas... não entendi. :D
Klaus Paiva
Conheça também: Taperás

#5 phpbr.net

phpbr.net

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte
  • Interesses:Programar

Posted 03/02/2006, 12:04

Realmente não esta dando pra entender, mas vou arriscar:



function carrega(url, num, funcao){
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = abrir;
xmlhttp.send(null);
}

funcao = "abrir('abc', 'abc2')";

Se não for isso sugiro que explique seu objetivo e como pretende fazer
http://oficinax.com.br > desenvolvimento web

#6 ddacal

ddacal

    nheco

  • Usuários
  • 147 posts
  • Sexo:Não informado
  • Interesses:Webdesign<br>Design em geral<br>Fotografia<br>Publicidade

Posted 03/02/2006, 12:07

humm deixa eu tentar mudar o raciocinio entao...

bom, eu entendi aquilo que vc falou de criar uma função anonima. funcionou e tudo aqui. beleza.
agora o problema é: eu queria passar uma função(com seus parametros) como parametro pra essa função anonima.

o que eu falei do eval (nao sei se vc conhece), eh que ele pega uma string que vc passa pra ele e ele executa aquela string como se fosse uma função.

entao, resumindo, o que eu queria era juntar as 2 perguntas que fiz no inicio... eu queria executar a função com o seu parametro (usando o esquema da função anonima que vc falou), mas passando essa função como parametro.
Diego Dacal
Webdesigner

#7 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 03/02/2006, 17:10

Isso?

function carrega(url, num, funcao){
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function() { abrir('abc', 'abc2'); }
xmlhttp.send(null);
}


Klaus Paiva
Conheça também: Taperás

#8 ddacal

ddacal

    nheco

  • Usuários
  • 147 posts
  • Sexo:Não informado
  • Interesses:Webdesign<br>Design em geral<br>Fotografia<br>Publicidade

Posted 07/02/2006, 09:16

e isso aih klaus,

mas eu quero que "abrir('abc', 'abc2');" (esta string) venha passada como parametro ali por aquela variavel "funcao" que esta definida.
De modo que eu possa passar a funcao abrir, ou quem sabe a "carrega('ab')"
ou a funcao "deleta('123', 'abc', 'abc', 'abbb')".

Eu nao queria passar SOH a funcao abrir, eu queria passar uma funcao qualquer como parametro dependendo do caso de aplicação do ajax.
Diego Dacal
Webdesigner

#9 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 07/02/2006, 10:29

function carrega(url, num, funcao){
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = funcao }
xmlhttp.send(null);
}

carrega( "", "", function() { bla('oi'); } );
carrega( "", "", function() { foo('oi', 'teste'); } );


Cara, acho que nunca testei isso, veja se rola.
Klaus Paiva
Conheça também: Taperás

#10 ddacal

ddacal

    nheco

  • Usuários
  • 147 posts
  • Sexo:Não informado
  • Interesses:Webdesign<br>Design em geral<br>Fotografia<br>Publicidade

Posted 07/02/2006, 10:42

UFFA!!!!!!!!
problema resolvido klaus!!! :)
soh tive que dar um ajustezinho ali na funcao que vc me passou..
Olha o resultado dela que funciona....
function carrega(url, funcao){
	xmlhttp.open("GET", url + "?" + Math.random(), true);
	xmlhttp.onreadystatechange = eval(funcao);
	xmlhttp.send(null);
}

function noticia(param){
	if(xmlhttp.readyState == 4) {
  var text = xmlhttp.responseText;
  document.getElementById('noticia').innerHTML = text;
  text = '';
  alert(param)
	}
}

e a chamada:
<a href="javascript: carrega('noticia.jsp', function() { noticia('funfa!'); });">click!</a>

Acho que esse topico vai ser interessante pra varias pessoas, muito obrigado pela ajuda!!!
Diego Dacal
Webdesigner

#11 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 13/09/2017, 01:04

Acheter Cialis En Ligne Avis online pharmacy Keflex Topical
Viagra Nicht Rezeptpflichtig Progesterone Internet Usa Shipped Ups Keflex 500
Cod Only Real Clobetasol Cheapeast <a href=http://cialtobuy.com>cialis</a> Canadian Pharcharmy For Antibiotics
Il Viagra Rende Sordi cialis Zithromax Flu
Ce Que Priligy 30mg Amoxicillin For Dental Implants 100mg Viagra For Male And Female
Online Deltasone Generic <a href=http://cialtobuy.com>online pharmacy</a> Acheter Baclofene Belgique
Canadian Generic Levitra online pharmacy Buy Silagra
Buy Cialis Online Fast Delivery
Buy Online Prescription Viagra <a href=http://cialtobuy.com>buy cialis</a> Zithromax Suspension Dosing
Amoxicillin And Pseudoephedrine For Sinusitis cialis Where to order real isotretinoin drugs on line
Viagra Cialis Generica Baclofene Commander Cialis Kaufen Spanien
Prescription For Amoxicillin <a href=http://cialtobuy.com>cialis</a> Original Cialis

#12 FrankCaulk

FrankCaulk

    12 Horas

  • Usuários
  • 163 posts
  • Sexo:Masculino
  • Localidade:Karakol

Posted 13/09/2017, 07:33

aiffcxr http://www.oecc.fr/c...-rouge-882.htmlhttp://www.wiime.fr/...tunisie-707.asp Air Jordan 5 JauneDior Homme Shoes Ss14Yeezy 350 V2Nike 2017 Femme PrixAir Max 2016 Blanc Femme
eknqhow

http://www.domisens-...e-homme-355.php
http://www.trioelegi...-homme-728.html
http://www.amomu.fr/...andora-645.html
http://www.scootrace...s-femme-190.htm
http://www.or-design...-fille-346.html

Asics Gel Noir Et Rouge
Nike Free 5.0 Orange Homme
Converse All Star Basse Bordeaux Femme
Nike Air Max 1 Jaune Gris Blanc
Mizuno Wave Fortis 6 Femme Avis
xazumfz http://www.newswindo...ux-adv-339.htmlhttp://www.lyoncentr...claire-037.html Adidas 2015 Femme SuperstarStan Smith UniqueLacoste Chaussure 2015Air Max 1 Kaki FemmeAdidas Femme Hiver 2016
ffmxttz

http://www.xavier-ma...d-homme-547.php
http://www.full-web....t-prix-752.html
http://www.u-strabg....uge-et-noir.php
http://www.auberge-b...-vente-196.html
http://www.travail-i...er-fsb-648.html

Converse Suisse Prix
Nike Air Force 1 Homme Noir
Nike Air Pegasus 83 Ltr Dark Obsidian
Nouvelle Collection Chaussure Hermes
Salomon Speedcross 3 Ou 4
icjeogk

http://www.aroundthe...-pour-femme.php
http://www.nbanation...b-bleu-859.html
http://www.bluerenne...luo-et-noir.php
http://www.wiime.fr/...ssures-002.html
http://www.aroundthe...emelle-rose.php

Air Force Noir
Basket Nike Femme Grise Et Verte
Nike Roshe Run Homme Grise
Nike Air Max Noir Et Gris
Adidas Femme Superstar Rouge
lfietov

http://www.pieces-center.fr/stan-smith-femme-blanc-doré-319.php
http://www.pennywise...s-femme-086.php
http://www.dojodulac...g-bleu-916.html
http://www.bluerenne...rise-claire.php
http://www.treguier-...alando-879.html

Nike Air Max Bleu Marine Foot Locker
Sac Louis Vuitton Cuir Noir
Chaussures De Foot Puma Pas Cher
Timberlands Chaussures
Adidas Stan Smith Rouge Foot Locker
psxfuax

http://www.auto-lois...16-bleu-488.php
http://www.or-design...anches-883.html
http://www.chokolosk...aille-l-952.php
http://www.demandezl...2-pas-cher.html
http://www.lacharlyb...en-blue-987.php

Adidas Superstar Corail
Louis Vuitton Bag Homme
Chaussure Ralph Lauren Avis
Saucony Shadow 5000 Extra Butter
Nike Air Max Beige Homme
nsmtdlm http://www.agence-im...tech-fleece.phphttp://www.auto-lois...le-rot-346.html Polo Ralph Lauren Bleu Logo JaunePuma Suede Noir ClassicHuarache Noir Et Blanc PorterNike Flyknit Racer MulticolorMichael Kors Portemonnaie Outlet

#13 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 13/09/2017, 17:45

Discount Shipped Ups Free Shipping Isotretinoin Isotrex cialis price Valtrex X Zovirax
Cialis Pharmacie Suisse
Amoxil For Cats <a href=http://cialtobuy.com>cialis</a> Instatabs Viagra
Commande Cialis 20 online pharmacy Buying Domperidone In Canada
Ist Viagra Rezeptfrei In Der Schweiz Buy Flagyl 500mg Online Keflex Vs Bactrim
Is Amoxicillin Good <a href=http://cialtobuy.com>cialis buy online</a> Wirkung Cialis Erfahrung
Achat Viagra Sur Internet viagra cialis Espn Ad For Viagra
Viagra Pas Cher Belgique
Venta De Viagra En Concepcion <a href=http://cialtobuy.com>cheap cialis</a> Amoxicillin 500 Clav K 125 Mg

#14 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 02/10/2017, 02:17

Can You Buy Valtrex In Mexico non prescription levitra How Buy Viagra Internet Il Viagra Funziona
Pillole Viagra Immagini Sildenafil Prezzo viagra Cephalexin Alternative For Dogs Propecia Sexual Side Effects
Buy Synthroid 112 levitra generico prezzo Topical Amoxicillin
Buy Generic Orlistat 120mg Online Canada Prescriptions Online Prices Cialis En Ligne 10 Mg online pharmacy Baclofene Grenoble buy accutane online fast delivery Cialis Livraison Rapide Canada

#15 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 02/10/2017, 03:02

Isotretinoin Sotret In Germany Over Night how to get a free trial of levitra Vente Viagra Livraison Gratuite Buycialis With Out A Prescription
Proscar O Propecia Zentel Visa Accepted By Money Order Without Perscription buy cialis Cialis Black 800mg Reviews Water Pills No Prescription Mexico Pharmacy Rx 1
Prostata Finasteride Propecia viagra online pharmacy Adult Dosage Amoxicillin Buying Prednisolone Uk
Amoxicillin Allergy Weeks Prix Cialis Boite De 8 cheep levitra Order Now Doxycycline Generic Propecia 1 Ml
Cialis Generico A Prezzi Bassi Onlinepharmacy24 Mail Order Progesterone Canada With Overnight Delivery viagra Pharmace Online
Buy Generic Prednisone cialis price Synthroid Cheapest Prices Viagra Vente Libre Pays
Prednisolone Order Online Australia Buy Cialis 5mg From Canada viagra Is Cephalexin Good For Sinus Infections




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq