Topic: $.ajax metodo taikymas

Sveiki,

$.ajax metodo pagalba noriu is vieno failo perkelti kintamaji ar jo reiksme i kita faila, tai turetu ivykti paspaudus nuoroda, kuri turi id="kintamasis" atributa.

Naudoju zemiau pateikta koda, taciau norimo rezultato nepavyksta gauti.

<script type="text/javascript">
$(document).ready(function() {
//When a link in div with id "selectOne" is clicked, do something:
$('#selectOne a').click(function() {
    //Get id from clicked link:
    var idd = $(this).attr('id');

    $.ajax({
        type: 'POST',
                url: 'failasY.php',
                data:  {'pid' : idd}
                
});
}}
</script>

Nuorodos.

<div id="selectOne">
<a href="failasX.php?pid=<?php echo $f7; ?>&pid2=<? echo $f32; ?>" id="2">Tekstas</a>
<a href="failasX.php?pid=<?php echo $f8; ?>&pid2=<? echo $f42; ?>" id="<?php echo $f8; ?>">Tekstas</a>
</div>

failasY

<?php

$q=$_GET['q'];
$field=$_POST['pid'];

if (strlen($q) > 0)
  {
      $total=$q;
  }

if ($total == "")
  {
  $response="no suggestion";
  }
else
  {
  $response=$total * $field;
  }

echo $response;

?>

Klaidos tekstas: Notice: Undefined variable: pid in C:\xampp\htdocs\toto\failasY.php on line 5

Gali buti elementariu dalyku, kuriu nematau ar nesuprantu, nes taikau tai pirma karta. Kas turit kokiu pasiulymu?

Re: $.ajax metodo taikymas

O kam tas AJAX'as čia jeigu gali visas norimas reikšmės perduoti per URL parametrus?

O šiaip tai lūdna matyti tokius "kodus" su tiek visokių kabliukų, kurie tau gadina ir dar ilgai gadins gyvenimą. Labai rekomenduoju labiau domėtis pagrindais.

Re: $.ajax metodo taikymas

Naudoju tai, todėl nes noriu vienu nuorodos paspaudimu ta pati kintamąjį nusiūsti į du skirtingus failus. T.y. į failasX.php ir į failasY.php. Nebent yra paprastesniu būdų tam atlikti..

4 (edited by Neodan 2012-03-24 10:13:41)

Re: $.ajax metodo taikymas

@popco: paklausyk mindes patarimo. O siaip poreikis vienu metu pasikreipti i 2 skirtingus server-side scriptus yra labiau panasus i programos projektavimo klaida, nei i sprendima. Su tokiuo codinimu sau ateityje susikelsi daug problemu.

P.S. negi mokintis yra nebemadinga ir reikia pulti viska daryti taip lyg moketum ir zinotum ka darai?

Re: $.ajax metodo taikymas

minde wrote:

O kam tas AJAX'as čia jeigu gali visas norimas reikšmės perduoti per URL parametrus?

O šiaip tai lūdna matyti tokius "kodus" su tiek visokių kabliukų, kurie tau gadina ir dar ilgai gadins gyvenimą. Labai rekomenduoju labiau domėtis pagrindais.

minde, tu kaip protingas zmogus, parasyk kur ir kokie kabliukai cia yra. Zmogus pats juk negali susiprasti kur kas negerai. Jam atrodo kad gerai, tol kol kazkas neparodo. Tai imk ir parodyk :)

Re: $.ajax metodo taikymas

Blogai nurodai ką nori gauti gaut. Ta prasme kokį atributą. Pirmiausia nurodai kad "click" event'as būtų vykdomas su nuorodomis, ir bandai iš jų gauti atributą "id" kurio jo išvis ten nėra. Gauni undefined todėl, kad jQuery nepagauna atributo, jo nenustato į kintamąjį ir neperduoda į Ajax.

Re: $.ajax metodo taikymas

Neodan wrote:

O siaip poreikis vienu metu pasikreipti i 2 skirtingus server-side scriptus yra labiau panasus i programos projektavimo klaida, nei i sprendima.

Pagalvojus gali būt toks atvejis, kai žmogus tarkim daro programą, kuri veikia kaip Google Analytics - trečios šalies script'as, kuris seka paspaudimus/elgseną. Aišku stipriai abejočiau, kad čia būtent tas atvejis, turit omenyje, kad abu target-failai yra tame pačiame serveryje.

Re: $.ajax metodo taikymas

Ajaks wrote:

minde, tu kaip protingas zmogus, parasyk kur ir kokie kabliukai cia yra. Zmogus pats juk negali susiprasti kur kas negerai. Jam atrodo kad gerai, tol kol kazkas neparodo. Tai imk ir parodyk :)

Jeigu domėsis ir gilinsis - pats atras, jeigu ne, reiškias jam net nereikia. Jeigu bus idomu ir toliau vystysis diskusija - galima bus parašyt ir čia.

Re: $.ajax metodo taikymas

Tai zmogus domisi, pasinaudojo google, atrado mysql.lt, ir klausia. Nu?

(:

Re: $.ajax metodo taikymas

Ajaks wrote:

Tai zmogus domisi, pasinaudojo google, atrado mysql.lt, ir klausia. Nu?

(:

Panašu, kad tu daugiau domiesi, negu jis (-;

Re: $.ajax metodo taikymas

Ajaks wrote:

Tai zmogus domisi, pasinaudojo google, atrado mysql.lt, ir klausia. Nu?

Ką reiškią tokio tipo įspėjimai:

"Notice: Undefined variable: pid in C:\xampp\htdocs\toto\failasY.php on line 5

Būtina žinoti! ... neužsetintas kintamasis 'pid' 5-je eilutėje (taigi yra žodynai jei su anglų sunku...)

O dėl failasX.php ir failasY.php, neminėjai ką darai su kintamaisiais, bet spėju nieko ypatingo, taigi tiesiog susikurk failasXY.php kuriame suimportuosi anksčiau minėtus failus. Tuomet užteks kreiptis į failasXY, prasukti kintamuosius per failasX ir failasY funkcijas ir gražinti rezultatą.

No warning? No action? I hate this situation!