Krijg geen return na uitvoeren van een functie
Hallo mede leden,
Ik heb een vraag/probleem
Ik heb een radio button die werkt met een onChange
Nu heb ik ook het script opgezet
Als ik nu via firefox kijk in de browserconsole zie ik wel dat als ik op de radio button click de value wordt verzonden naar ajax.php
Nu heb ik in ajax.php dit neergezet om te testen
maar ik krijg geen response terug.
in het script waar de radio button staat heb ik ook de div
Iemand enig idee waar dit aan kan liggen?
Ik heb een vraag/probleem
Ik heb een radio button die werkt met een onChange
Code (php)
1
<input type="radio" name="dpoint" value="'.$fetch['dpoint'].'" onChange="Donate(this.value);" />
Nu heb ik ook het script opgezet
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
function Donate(id) {
document.getElementById('box').style.display = 'block';
$.ajax({
url: 'ajax.php?a=donate&id=' + id,
type: 'GET',
dataType: 'php',
timeout: 1000,
success: function(response) {
$("#box").html(response);
}
});
}
</script>
function Donate(id) {
document.getElementById('box').style.display = 'block';
$.ajax({
url: 'ajax.php?a=donate&id=' + id,
type: 'GET',
dataType: 'php',
timeout: 1000,
success: function(response) {
$("#box").html(response);
}
});
}
</script>
Als ik nu via firefox kijk in de browserconsole zie ik wel dat als ik op de radio button click de value wordt verzonden naar ajax.php
Nu heb ik in ajax.php dit neergezet om te testen
maar ik krijg geen response terug.
in het script waar de radio button staat heb ik ook de div
Iemand enig idee waar dit aan kan liggen?
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Alvast bedankt!
Alvast bedankt!
Gewijzigd op 22/04/2014 10:28:12 door - Ariën -
dataType: 'php',
zou dat niet iets als "json" of "xml" moeten zijn?
zou dat niet iets als "json" of "xml" moeten zijn?
hmm nee want de Ajax.php bestaat alleen uit php en geen json en ook geen xml
Het vreemde is dat ik deze script wel werkend heb gekregen op een andere site die geen gebruikt maakt van SEO via htaccess Dus misschien dat het daarmee te maken heeft.
Het vreemde is dat ik deze script wel werkend heb gekregen op een andere site die geen gebruikt maakt van SEO via htaccess Dus misschien dat het daarmee te maken heeft.
PHP is een scripttaal, geen datatype.
PHP kan JSON, XML, html, jpeg, etc etc etc terug geven.
Het kan inderdaad wel zijn dat je door .htaccess rewriterules nooit in ajax.php terecht komt.
Probeer de url eens via een een browser aan te roepen en kijk evt eens in je logs.
PHP kan JSON, XML, html, jpeg, etc etc etc terug geven.
Het kan inderdaad wel zijn dat je door .htaccess rewriterules nooit in ajax.php terecht komt.
Probeer de url eens via een een browser aan te roepen en kijk evt eens in je logs.
Voor dit soort gevallen zijn 'Developer Tools' heel handig (In Chrome en FF: F12)
Hiermee kun je zien of er daadwerkelijk naar ajax.php wordt gepost, of dat deze een error (404?) geeft.
Ook kun je zien welke data er wordt verstuurd.
Als je al een vermoeden hebt dat het aan je htaccess ligt kun je daarin de betreffende regels even uitschakelen door er een # voor te zetten.
Hiermee kun je zien of er daadwerkelijk naar ajax.php wordt gepost, of dat deze een error (404?) geeft.
Ook kun je zien welke data er wordt verstuurd.
Als je al een vermoeden hebt dat het aan je htaccess ligt kun je daarin de betreffende regels even uitschakelen door er een # voor te zetten.
Hmm ik heb even een test file gemaakt test.php
er wordt geen gebruikt gemaakt van htaccess.
Dev tool FF F12 geeft geen error weer. er wordt wel gepost naar ajax.php

Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script>
<script>
function Donate(dpoint) {
document.getElementById('box1').style.display = 'block';
$.ajax({
url: 'ajax.php?a=donate&id=' + dpoint,
type: 'GET',
dataType: 'php',
timeout: 1000,
success: function(response) {
$("#box1").html(response);
}
});
}
</script>
<form method="post" action="">
<input type="radio" name="dpoint" value="1" onChange="Donate(this.value);" /><br />
<input type="radio" name="dpoint" value="2" onChange="Donate(this.value);" /><br />
</form>
<div id="box1"></div>
<script>
function Donate(dpoint) {
document.getElementById('box1').style.display = 'block';
$.ajax({
url: 'ajax.php?a=donate&id=' + dpoint,
type: 'GET',
dataType: 'php',
timeout: 1000,
success: function(response) {
$("#box1").html(response);
}
});
}
</script>
<form method="post" action="">
<input type="radio" name="dpoint" value="1" onChange="Donate(this.value);" /><br />
<input type="radio" name="dpoint" value="2" onChange="Donate(this.value);" /><br />
</form>
<div id="box1"></div>
er wordt geen gebruikt gemaakt van htaccess.
Dev tool FF F12 geeft geen error weer. er wordt wel gepost naar ajax.php

Zoals al is gezegd, staat je datatype nog steeds verkeerd. PHP bestaat niet.
"dataType (default: Intelligent Guess (xml, json, script, or html))"
"dataType (default: Intelligent Guess (xml, json, script, or html))"
Is wel vreemd want op een andere site gebruik ik precies hetzelfde datatype en daar werkt het wel.
Hmm heb datatype naar HTML gezet en werkt nu wel op testing omgeving.
Wat ik mij dan af vraag is waarom die op de ene site met datatype php het wel doet maar op testing omgeving dan weer niet. hmm. Zal eens onderzoeken.
Hmm heb datatype naar HTML gezet en werkt nu wel op testing omgeving.
Wat ik mij dan af vraag is waarom die op de ene site met datatype php het wel doet maar op testing omgeving dan weer niet. hmm. Zal eens onderzoeken.
Gewijzigd op 22/04/2014 13:16:52 door thomas de vries
maar wat nu als je het stuk ajax even overboord zet en ter testing ende vermaeck de url gewoon in een browser aanroept?
Dat werkt wel maar het probleem is gevonden
Dit is wat ik nu gebruik jquery-1.7.2.min.js en die werkt niet met datatype php
jquery-1.2.6.min.js deze werkt wel met datatype php
Bijde geven ze hetzelfde resultaat terug. In dit geval moet ik dus de nieuwe jquery script gebruiken.
Dit is wat ik nu gebruik jquery-1.7.2.min.js en die werkt niet met datatype php
jquery-1.2.6.min.js deze werkt wel met datatype php
Bijde geven ze hetzelfde resultaat terug. In dit geval moet ik dus de nieuwe jquery script gebruiken.
Mooi dat het nu werkt. Test omgeving en live omgeving zou geen verschil mogen maken omdat Javascript client side wordt uitgevoerd dus niet wordt bepaald door de server.
Het zou wel logisch zijn als je een foute datatype meestuurt, dat ie dan de default gebruikt, misschien dat ie ook niet werkt?
Edit: 1.2 is wel erg oud :) We zijn intussen al bij 1.11.0
Ik raad aan deze laatste versie te gebruiken. Eventueel i.c.m. 2.1.0.
Het zou wel logisch zijn als je een foute datatype meestuurt, dat ie dan de default gebruikt, misschien dat ie ook niet werkt?
Edit: 1.2 is wel erg oud :) We zijn intussen al bij 1.11.0
Ik raad aan deze laatste versie te gebruiken. Eventueel i.c.m. 2.1.0.
Gewijzigd op 22/04/2014 13:25:10 door Michael -
kennelijk doet de heel oude jQuery niet met het datatype.
De nog steeds behoorlijk oude versie wel.
Maar nogmaals: TEST nu eens met een kale versie.
Roep het direct aan in de browser.
Of roep het via jquery aan, maar gebruikt dan Firebug om het terugkomende result te zien. Ook als jQuery het resultaat niet snapt om dat het niet in het nietbestaande datatype PHP aangeboden wordt.
En upgrade eens naar een recente versie van je software.
De nog steeds behoorlijk oude versie wel.
Maar nogmaals: TEST nu eens met een kale versie.
Roep het direct aan in de browser.
Of roep het via jquery aan, maar gebruikt dan Firebug om het terugkomende result te zien. Ook als jQuery het resultaat niet snapt om dat het niet in het nietbestaande datatype PHP aangeboden wordt.
En upgrade eens naar een recente versie van je software.
Jquery is nu geupdate.
Ik krijg nu ook de gewenste response terug in de juiste div.
dataType = 'html'
Ik wil jullie graag bedanken voor het meedenken aan de oplossing.
Met vriendelijke groet,
Thomas de Vries
Ik krijg nu ook de gewenste response terug in de juiste div.
dataType = 'html'
Ik wil jullie graag bedanken voor het meedenken aan de oplossing.
Met vriendelijke groet,
Thomas de Vries




