WinFuture-Forum.de: Post Request Per Javascript - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Post Request Per Javascript ( XMLHttpRequest classe )


#1 Mitglied ist offline   leonsio 

  • Gruppe: aktive Mitglieder
  • Beiträge: 512
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 31. August 2004 - 15:28

gibt es eine möglichkeit/klasse mit der man javascript variablen per POST-Request übertragen kann?


oder alternativ gefragt wie kann ich mit XMLHttpRequest() klasse POSt requests absenden ( es funktioniert zumindest mit GET )
und gleichzeitig den User auf die Seite umleiten


Gruß

Leo
0

Anzeige



#2 Mitglied ist offline   leonsio 

  • Gruppe: aktive Mitglieder
  • Beiträge: 512
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 31. August 2004 - 21:25

nochmal zur erläuterung

ich möchte z.B

_st="";
_st+="<html><head><title>test</title></head>";
_st+="<body>";
_st+="<form name='myform' action='index2.php' method='post'>";
_st+="<input name=t1 value='test'>";
_st+="<input name=t2 value='lalal'>";
_st+="<input type=submit value='Submit' >";


durch eine funktion versenden, ohne irgendwo eine ausgabe zu machen

oder einfach alternativ variable=wert / variable=wert absenden, auch ohne ausgabe irgendwo zu machen
0

#3 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 31. August 2004 - 22:19

1. XMLHttpRequest ist Java bzw. ActiveX.
2. Nein, das geht aus gutem Grunde nicht. Ein form["name"].submit muss am Ende einer Event-Kette, deren Ursprungsevents vollständig durch Usereingaben generiert sein müssen (JavaScript-Sicherheitsmodell). Daran rumzumanipulieren erlauben eigentlich nur standardmäßige Sicherheitslücken im IE wie z.B. Scripting von Java-Applets.
3. Ausblenden kannst du doch ein Form problemlos, setze einfach style="visibily: hidden".

Dieser Beitrag wurde von Rika bearbeitet: 31. August 2004 - 22:20

Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#4 Mitglied ist offline   leonsio 

  • Gruppe: aktive Mitglieder
  • Beiträge: 512
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 01. September 2004 - 07:12

1. XMLHttpRequest ist Java bzw. ActiveX.

ich weiß :wink: ist schnittstelle in Mozilla

2. es geht vorerst nur um mozilla browser

3. ich will/kann es nicht ausblenen, es ist ein XML dokument aus dem javascript die daten entnehmen soll, dies in ein virtuelles form machen und den abschicken ( durch irgend ein event/klick usw )


die XMLHttpRequest klasse sendet die daten zwar weiter, jedoch leitet die den script nicht zusammen mit denen, sondern hollt sich die antwort aus dem script

oder ich hab da was falsch angestellt :?


trotzdem danke für die hilfe
0

#5 Mitglied ist offline   leonsio 

  • Gruppe: aktive Mitglieder
  • Beiträge: 512
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 01. September 2004 - 09:26

mit dem code werden die daten zwar übertragen ( per post/get )
ich kriege die aber als ergebnis zurück
was ich garnicht möchte, ich will zusammen mit dem request auf die seite weitergeleitet werden, ich kenn mich aber mit JS garnicht aus


//Configuration Details

const SERVER_URL = "index2.php";

//End Configuration



function doLogin() {

var username = document.getElementById('loginUser').value;

var password = document.getElementById('loginPass').value;
var targetURL = SERVER_URL;



req = new phpRequest();

req.add('username',username);

req.add('password',password);



var response = req.execute();

alert(response);


}



//Start phpRequest Object

function phpRequest() {

this.parms = new Array();

this.parmsIndex = 0;

this.execute = phpRequestExecute;

this.add = phpRequestAdd;

this.server = SERVER_URL;

}



function phpRequestAdd(name,value) {

this.parms[this.parmsIndex] = new Pair(name,value);

this.parmsIndex++;

}



function phpRequestExecute() {

var targetURL = this.server;



try {

var httpRequest = new XMLHttpRequest();

}catch (e){

alert('Error creating the connection!');

return;

}



try {

var txt = "?1";

for(var i in this.parms) {

txt = txt+'&'+this.parms[i].name+'='+this.parms[i].value;

}

//Two options here, only uncomment one of these

//GET REQUEST

//httpRequest.open("GET", targetURL+txt, false, null, null);



//POST REQUEST EXAMPLE



httpRequest.open("POST", targetURL, false, null, null);

httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
httpRequest.setRequestHeader("Location:",targetURL);



httpRequest.send(txt);

}catch (e){

alert('An error has occured calling the external site: '+e);

return false;

}



switch(httpRequest.readyState) {

case 1,2,3:

alert('Bad Ready State: '+httpRequest.status);

return false;

break;

case 4:

if(httpRequest.status !=200) {

alert('The server respond with a bad status code: '+httpRequest.status);

return false;

} else {

var response = httpRequest.responseText;

}

break;

}



return response;

}



function Pair(name,value) {

this.name = name;

this.value = value;

}
0

#6 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 01. September 2004 - 13:35

@leonsio:
Es liegt einfach daran daß das Sicherheitsmodell das verhindert. Das Event muss irgendwo vom User ausgelöst werden, ansonsten könnte man ja z.B.

<form name="x">
<input name="y" type="file value="C:\WINDOWS\repair\SAM">
</form>
<script type="text/javascript">
document.x.y.submit();
</script>

machen. Diese Sicherheitsrestriktionen greifen sowohl für File-Upload als auch für die POST-Methode.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#7 Mitglied ist offline   leonsio 

  • Gruppe: aktive Mitglieder
  • Beiträge: 512
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 01. September 2004 - 13:52

naja ich habs nun über XMLHttpRequest Classe gemacht

alle daten speicher ich in der session und von dem php script lasse ich mir die neue URL durchgeben auf die ich dann den user weiterleite

ist zwar bisschen abenteuerlich, aber was solls, hauptsache es läuft
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0