• Reset your password

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log in
Hjem
Linuxin 2025

Breadcrumb

  • Hjem
  • forums
  • Ajax-problemer, responseText er tom.

Hvad kan du med 100% sikkerhed sige, at du har stemt?

Valgmuligheder
Af jeppester | 18.12.2009 02:14

Ajax-problemer, responseText er tom.

Programmering

Jeg er i gang med et mindre ajax-projekt, hvor jeg vil lave en web-frontend til mpc.



Desværre kan jeg ikke få mit xmlhttprequest til at give nogen responseText.



Mit php-script til at styre mpx ser således ud:



<?php

$arg=$_GET["arg"];



$playerState=0;

$shuffle=0;

$repeat=0;



$output=array();

switch ($arg) {

case 0:

exec("mpc",$output);

break;

case 1:

exec("mpc toggle",$output);

break;

case 2:

exec("mpc stop",$output);

break;

case 3:

exec("mpc prev",$output);

break;

case 4:

exec("mpc next",$output);

break;

case 5:

exec("mpc random",$output);

break;

case 6:

//der kommer noget her

break;

}





if (substr($output[1],0,1)=="[") {

if (substr($output[1],0,9)=="[playing]") {

$playerState=1;

} elseif (substr($output[1],0,8)=="[paused]") {

$playerState=2;

}



//henter shuffle-information

$shuffle=strpos($output[2],"random");

$shuffle=substr($output[2],$shuffle+8,2);

if ($shuffle=="of") {

$shuffle=0;

} else {

$shuffle=1;

}

} else {

$playerState=3;

//henter shuffle-information

$shuffle=strpos($output[0],"random");

$shuffle=substr($output[0],$shuffle+8,2);

if ($shuffle=="of") {

$shuffle=0;

} else {

$shuffle=1;

}

}







echo $playerState . "," . $shuffle . "," . "0";

?>





Hvis jeg tjekker scriptet direkte i en browser fungerer det perfekt og browseren skriver præcis den tekst jeg skal bruge.



Det javascript der laver xmlhttprequest'en ser således ud:



var playbackReq;



function playback(arg) {

playbackReq=new XMLHttpRequest();

playbackReq.onload=playbackResponse();



playbackReq.open("GET","php/playbackControl.php?arg="+arg,true);

playbackReq.send(null);

}



function playbackResponse() {

alert(playbackReq.responseText);

}





"playback"-funktionen virker præcist som den skal, men af en eller anden grund får jeg kun en "alert" uden tekstindhold tilbage, i stedet for den tekst som bliver skrevet af mit php-script.



Jeg har prøvet at bruge "onreadystatechange" i stedet for "onload", og så at tjekke readystate'et i playbackResponce, men readystate'et ændrer sig ikke fra 0. Det sker selvom at både FF og chrome fortæller at mit xmlhttprequest er fuldført.



Nogen herinde der kan hjælpe mig videre?

  • Log in to post comments

Kommentarer1

15 år 5 måneder siden

Permalink

Indsendt af jeppester den 22. december 2009 kl. 02:05

Permalink

Jeg fandt selv fejlen

En halv times ekstra gennemgang af koden gav resultater.



Det var i

playbackReq.onload=playbackResponse();

at "playbackResponse" ikke skulle afsluttes med parentesklammer.

  • Log in to post comments

Svar søges

Test 0
Den er go 0
Vil du have et sikrere og mere privat internet? Du skal blot installere Vivaldi-browseren med Proton VPN understøttelse! 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

2 stk Jolla C2 sælges 2
"Intet realistisk alternativ" - mig i r*ven 4
Test 2
Det første forumindlæg efter installation af Forum-modulet 8
Vanilla OS 12
Nye forum-indlæg viser sig kun 1 gang 1
Vil alle forumindlæg vise sig to gange 1
Hjælp til remote terminal vindue? 3
PCLinuxOS 19
Kan ikke boote på installation 24
80-20 reglen 1
Skærmlys fader ud på min bærbare 8
32 bit distro på max 700mb der stadig understøttes 26
Har vi nogen Linux konsulenter i Slagelse området? 3
Virkelig 7
gnome-software? 3
Archer T2U AC600 Wireless Dual Band USB Adapter 26
En farverig APT 3.0 udgivelse imponerer med sine nye funktioner 2
Unix's fødsel 2
Linux Mint 13

Copyright © 2025 Company Name - All rights reserved

Developed & Designed by Alaa Haddad