Hoi,

ik krijg vanuit mijn xmlHttp-request geen antwoord terug hoewel de query gewoon werkt.
Als ik buiten de if een gewone plain text echo, werkt het wel.

Ik ben die myqsli aan het uittesten en heb gekozen voor de prepare-methode.


if(isset($_POST['form']))
{
    $form = $_POST['form'];
    $stmt = $mysqli->prepare('SELECT content FROM tbl_content WHERE formtype = ?');

    $stmt->bind_param('s', $form);
    $stmt->bind_result($content);
    if ($stmt->execute())
    {
        while ( $stmt->fetch() )
        {
            echo $content;
        }
    }
}
Frank Nietbelangrijk op 30/12/2012 23:00:36

laat dan even zien hoe je de request opvraagt?




{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
       xmlDoc = xmlHttp.responseText;
       if(xmlDoc != '' && xmlDoc != undefined)
       {         
            var textarea = document.getElementById("editor1");
            textarea.innerHTML = xmlDoc;
       }
    }
}


[size=xsmall]Toevoeging op 30/12/2012 23:10:15:[/size]

UPDATE : probleem opgelost. Ik heb gewoon de verkeerde POST-waarde benoemd.

Maar toch krijg ik hem niet in mijn textarea met voorgaande code.
Ik werk wel met ckeditor. Daarbij moet ik een textarea maken en die een bepaalde name meegeven. Daarin kan ik dan de tekst plaatsen.
Misschien werkt dit niet met een XmlHttp-request.


<textarea name="editor1" id="editor1"></textarea>
je moet even kijken naar de api van ckeditor...ik weet van tinyMCE dat er een api is waarbij je de invoer kan pakken etc. misschien is dat met ckeditor ook zo??
Henze Berkheij op 31/12/2012 09:36:26

je moet even kijken naar de api van ckeditor...ik weet van tinyMCE dat er een api is waarbij je de invoer kan pakken etc. misschien is dat met ckeditor ook zo??


Dag Henze,
er moet inderdaad zo'n api zijn. Dat zoek ik verder even uit.
Inderdaad, even uit mijn hoofd is dat editor1.getData()
Ger van Steenderen op 01/01/2013 18:34:47

Inderdaad, even uit mijn hoofd is dat editor1.getData()


Dag Ger,

dat klopt!

Moet ik hierbij nog een fouthandeling inbouwen?
bvb if (xmlHttp.readyState==4 || ...)

En hoe kan ik nu met ajax de waarden uit een array ophalen?

Dit is mijn return:
[{"id":1,"content":"<p>Dit is een <strong>testje<\/strong><\/p>\r\n","formtype":"home"}]

Heb al veel gezocht en geprobeerd maar tevergeefs...


function ajaxrequest(str)
{
    $.ajax({
      type: 'POST',
      url: 'responsexml.php',
      datatype: 'json',
      data: { form : str, sid : Math.random() }
    }).done(function( msg ){
      xmlDoc = msg;
        document.getElementById('id').value = xmlDoc[0];
        document.getElementById('type').value = xmlDoc[1];
        CKEDITOR.instances.editor1.setData(xmlDoc[2]);
    })
}


function ajaxrequest(str)
{
    $.ajax({
      type: 'POST',
      url: 'responsexml.php',
      datatype: 'json',
      data: { form : str, sid : Math.random() }
    }).done(function( msg ){
      xmlDoc = msg;
        document.getElementById('id').value = xmlDoc.id;
        document.getElementById('type').value = xmlDoc.formtype;
        CKEDITOR.instances.editor1.setData(xmlDoc.content);
    })
}

zoiets?
Henze Berkheij op 02/01/2013 09:31:32

zoiets?


Dacht ik ook aan maar niet dus...
Hier bouw ik mijn array op:


if(isset($_POST['formtype']))
{
    $form = $_POST['formtype'];
    $stmt = $mysqli->prepare('SELECT id, formtype, content FROM tbl_content WHERE formtype = ?');

    $stmt->bind_param('s', $form);
    $stmt->execute();
    
    $meta = $stmt->result_metadata();

    while ($field = $meta->fetch_field())
    {
      $parameters[] = &$row[$field->name];
    }

    call_user_func_array(array($stmt, 'bind_result'), $parameters);

    while ($stmt->fetch())
    {
        foreach($row as $key => $val)
        {
            $x[$key] = $val;
        }
        $results[] = $x;
        echo json_encode($results);
    }
}


en dat is dus nog steeds mijn return:
[{"id":1,"content":"<p>Dit is een <strong>testje<\/strong><\/p>\r\n","formtype":"home"}]

Misschien kan het anders?
variable results uit je while loop halen, en het pas uiteindelijk echo'n. Dan krijg je maar 1 return waarde terug, een json array met data
Not Moose op 02/01/2013 10:26:34

Dan krijg je maar 1 return waarde terug, een json array met data


Is mijn return waarde nu geen json array?

Reageren