Przekazywanie danych za pomocą metody POST

2014-03-11 11:36

Rejestracja: 6 lat temu

Ostatnio: 5 lat temu

0

Mam taki problem z tego względu, że dopiero uczę się ajaxa mam taki problem chce przekazać do skryptu pęwną wartośc lae mi nie wychodzi.
Tu jest kod javascript.

<script>
var XMLHttpRequestObject = false;
  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest ();
  }
  else if (window.AtiveXObject) {
    XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  }
function getOptions(scheme,divid)
{
var url = "options3.php";
var imie = document.getElementById('imie');
var obj = document.getElementById(divid);
if (XMLHttpRequestObject) {
XMLHttpRequestObject.open("POST", url + "?imie=" + imie);
XMLHttpRequestObject.setRequestHeader('Content-Type' ,
'application/x-www-form-urlencode');
XMLHttpRequestObject.onreadystatechange = function ()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
var xmlDocument = XMLHttpRequestObject.responseXML;
//options = xmlDocument.getElementsByTagName("option");
//listoptions ();
obj.innerHTML = XMLHttpRequestObject.responseText;
}

}
XMLHttpRequestObject.send("scheme=" + scheme);
}
}
</script>

<H1>Przechwytywanie danych z Ajax</H1>
<form method=post>
<input type=text id=imie>
<input type = "button" value ="Display Message"
onclick = "getOptions('imie','targetDiv')">
</form>
<div id="targetDiv">
<p> Przechwycone dane będą tu</p>
</div>
</body>
</html>

A tutaj kod PHP

 <?
print $_POST["imie"];

?>

<?
$a = 4; //jakaś liczba całkowita
$b = 5; // jakaś liczba całkowita
$c = $a + $b;
print $c;
?>
Mój pierwszy program(skrypt)
Po raz kolejny proszę o nieużywanie prefiksów w tytułach wątków - zamiast tego uzupełniaj tagi; Ja nie wiem dlaczego taki uparty jesteś... :) - furious programming 2014-03-11 16:36

Pozostało 580 znaków

2014-03-11 11:54
Moderator

Rejestracja: 13 lat temu

Ostatnio: 1 dzień temu

Lokalizacja: Rzeszów

0

Ja wiem, że to Newbie, ale przecież pod "XMLHttpRequestObject post" masz miliony wyników. Litości, człowieku. Nigdy do niczego nie dojdziesz jak nie nauczysz się choć ODROBINY samodzielności.


Nie jesteś moją matką więc nie życzę sobie takiego traktowania. - tomi0001 2014-03-11 12:09

Pozostało 580 znaków

2014-03-11 13:35

Rejestracja: 6 lat temu

Ostatnio: 5 lat temu

0

Chcę odrazu napisać, że szukałem teraz pomocy na forum i na forum nie znalazłem, za to znalazłem pomoc na youtube i tam był taki skrypt i ten skrypt przepisałem i trochę go zmodyfikowałem tutaj jest kod

<script>
var XMLHttpRequestObject = false;
  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest ();
  }
  else if (window.AtiveXObject) {
    XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  }
function getOptions(divid)
{
//if(XMLHttpRequestObject) {
zadanie = new XMLHttpRequest;
var url = "options3.php";
var imie = document.getElementById('imie');
var obj = document.getElementById(divid);
//var obj = document.getElementById(divid);
var zawartosc = "imie=" + imie;
zadanie.onreadystatechange = a;
zadanie.open("POST", url,true);

XMLHttpRequestObject.open("POST", url,true);
zadanie.setRequestHeader('Content-Type' ,
'application/x-www-form-urlencoded');
obj.innerHTML = zadanie.responseText;
zadanie.send(zawartosc);

//}

}

function a() {
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
document.getElementById("asas").innerHTML = zadanie.responseText;
}

}
</script>

<H1>Przechwytywanie danych z Ajax</H1>
<form method=post>
<input type=text id=imie>
<input type = "button" value ="Display Message"
onclick = "getOptions('targetDiv')">
</form>
<div id="targetDiv">
<p> Przechwycone dane będą tu</p>
</div>
</body>
</html>

A tutaj kod php

<?

print $_POST["imie"];

?> 

Dodam, że wszystko działa oprócz tego, że jak się kliknie myszką na przycick i pokaże wartość pola, Firebug nie pokazuje żadnych błędów.


<?
$a = 4; //jakaś liczba całkowita
$b = 5; // jakaś liczba całkowita
$c = $a + $b;
print $c;
?>
Mój pierwszy program(skrypt)

Pozostało 580 znaków

2014-03-11 13:54
Moderator

Rejestracja: 13 lat temu

Ostatnio: 1 dzień temu

Lokalizacja: Rzeszów

0

ajax to żądanie asynchroniczne. wpisujesz coś w diva w momencie jak nie ma jeszcze odpowiedzi. a z tego co widzę gdy odpowiedź dojdzie to próbujesz wpisać coś w element #asas.

ps. formatuj kod, nie utrudniaj sobie życia


Pozostało 580 znaków

2014-03-11 15:24

Rejestracja: 6 lat temu

Ostatnio: 5 lat temu

0

Zmieniłem

document.getElementById("asas").innerHTML = zadanie.responseText;

na

document.getElementById("imie").innerHTML = zadanie.responseText;

potem imie na targetDiv potem targetDiv na divid i nic te nie dało potem jeszcze przesunąłem

obj.innerHTML = zadanie.responseText;

za

zadanie.send(zawartosc);

dodanie znacznika <code class="javascript"> - Furious Programming


<?
$a = 4; //jakaś liczba całkowita
$b = 5; // jakaś liczba całkowita
$c = $a + $b;
print $c;
?>
Mój pierwszy program(skrypt)
edytowany 3x, ostatnio: furious programming, 2014-03-11 16:38

Pozostało 580 znaków

2014-03-12 08:54
Moderator

Rejestracja: 13 lat temu

Ostatnio: 1 dzień temu

Lokalizacja: Rzeszów

0

to może zamiast przesuwać to tu, to tam - wróć do podstaw języka? programowanie to NIE losowe klepanie znaczków z myślą "a może zadziała". ciężko Tobie pomóc, skoro nie próbujesz zrozumieć tego, co się dzieje


Jedynie w tym ci mogę uznać rację, ale problem w tym, że ja nie potrafię się nauczyć javascriptu na takim poziomie jakim bym musiał już język C umiem lepiej prędzej bym się nauczył assemblera niż javascriptu. - tomi0001 2014-03-12 12:48

Pozostało 580 znaków

2014-03-12 11:22

Rejestracja: 10 lat temu

Ostatnio: 3 miesiące temu

0

Tak się pisało 5 lat temu, właśnie z sentymentu spojrzałem na książkę do adżaksa. Nie prościej będzie zrobić to z pomocą jquery? https://api.jquery.com/jQuery.ajax/

nie wiem czy komuś kto nie ogarnia podstaw języka koniecznie trzeba sugerować używanie frameworków. - dzek69 2014-03-12 11:30

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0