Krijg geen return na uitvoeren van een functie
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 -
zou dat niet iets als "json" of "xml" moeten zijn?
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 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.
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.
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
"dataType (default: Intelligent Guess (xml, json, script, or html))"
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?
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.
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 -
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.
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