Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz Jim-Y #9056 üzenetére

    ("#saleBtn").click(function(){
    var xmlhttp;
    if (window.XMLHttpRequest) {
    xmlhttp=new XMLHttpRequest();
    } else {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    var jsonobj=new Function("return "+xmlhttp.responseText)();
    $("#goodsResult").text(jsonobj.entity.countrycode);
    }
    }
    xmlhttp.open("GET","../SERVER/my_extension.php?query=cc",true);
    xmlhttp.send();
    });

    Ez jQuery-vel kifejezve (ha már azt használsz), kicsit kibővítve, nagyon egyszerű példával élve:

    ("#saleBtn").click(function () {
    var
    processing_file = "../SERVER/my_extension.php?query=cc",
    jqxhr = $.getJSON(processing_file, function (jsonObj) {
    if(jsonObj.status == 'success'){
    $("#goodsResult").text(jsonObj.data.entity.countrycode);
    }
    else{
    $("#goodsResult").text(jsonObj.data.msg);
    }
    }).error(function () {
    alert("There was an error while processing your request!");
    })
    });

    A PHP-fájlban (lehetne másképp is, rengeteg módszer létezik rá, ez csak egy gyorspélda):

    <?php
    $query = isset($_GET["query"]) ? $_GET["query"] : '';
    $jsonStuff['status'] = FALSE;
    $jsonStuff['data'] = array('msg'=>'');
    if ($query == "cc") {
    $jsonStuff['data'] = file_get_contents('test.txt');
    $jsonStuff['msg'] = 'Success';
    $jsonStuff['status'] = TRUE;
    }
    else{
    $jsonStuff['data']['msg'] = "no data received";
    }

    echo json_encode($jsonStuff);

    (Megj.: a ?> lezárást szándékosan nem tettem ki, nem is kötelező, sőt, ha nem várunk pl. HTML-outputot utána, inkább nem is érdemes.)

    ===

    (#9065) modder : néha meg tudsz lepni a reakcióiddal.
    Senki nem mondta, hogy f@szfej, de ha az ember elkezdi használni a jQuery-t, a használható, akár kezdőknek szóló tutorialok között biztos, hogy megemlítik az AJAX-os függvényeket. Az XMLHttpRequest-es szarakodással meg az ember igazából ezerszer többet szív és gépel feleslegesen, mintha egyszer elolvasná a doksik között az AJAX-ra vonatkozó részt (lásd jQuery a cross-browser dolgokat eleve lekezeli).

  • Tele von Zsinór

    őstag

    válasz Jim-Y #9056 üzenetére

    Ha eleve használsz jQuery-t, miért nem annak az ajax függvényeit ($.get, $.post, $.ajax, stb.) használod?

  • modder

    aktív tag

    válasz Jim-Y #9056 üzenetére

    fopen az csak megnyitja a fájlt és egy handlert ad vissza.
    próbálkozz file_get_contents-szel.
    (bár ésszel, azért több tíz megás fájlokat így ne nyiss meg)

Új hozzászólás Aktív témák

Hirdetés