Krijg geen return na uitvoeren van een functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Thomas de vries

thomas de vries

22/04/2014 10:25:58
Quote Anchor link
Hallo mede leden,

Ik heb een vraag/probleem

Ik heb een radio button die werkt met een onChange
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="radio" name="dpoint" value="'.$fetch['dpoint'].'" onChange="Donate(this.value);" />


Nu heb ik ook het script opgezet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo var_dump($_GET);


maar ik krijg geen response terug.

in het script waar de radio button staat heb ik ook de div
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div id="box"></div>


Iemand enig idee waar dit aan kan liggen?
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Alvast bedankt!
Gewijzigd op 22/04/2014 10:28:12 door - Ariën -
 
PHP hulp

PHP hulp

26/04/2024 07:05:33
 
Ivo P

Ivo P

22/04/2014 10:55:02
Quote Anchor link
dataType: 'php',

zou dat niet iets als "json" of "xml" moeten zijn?
 
Thomas de vries

thomas de vries

22/04/2014 10:56:50
Quote Anchor link
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.
 
Ivo P

Ivo P

22/04/2014 10:58:52
Quote Anchor link
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.
 
Michael -

Michael -

22/04/2014 11:13:03
Quote Anchor link
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.
 
Thomas de vries

thomas de vries

22/04/2014 12:21:20
Quote Anchor link
Hmm ik heb even een test file gemaakt test.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


er wordt geen gebruikt gemaakt van htaccess.

Dev tool FF F12 geeft geen error weer. er wordt wel gepost naar ajax.php

Afbeelding
 
Michael -

Michael -

22/04/2014 13:03:26
Quote Anchor link
Zoals al is gezegd, staat je datatype nog steeds verkeerd. PHP bestaat niet.

"dataType (default: Intelligent Guess (xml, json, script, or html))"
 
Thomas de vries

thomas de vries

22/04/2014 13:14:06
Quote Anchor link
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.
Gewijzigd op 22/04/2014 13:16:52 door thomas de vries
 
Ivo P

Ivo P

22/04/2014 13:16:28
Quote Anchor link
maar wat nu als je het stuk ajax even overboord zet en ter testing ende vermaeck de url gewoon in een browser aanroept?
 
Thomas de vries

thomas de vries

22/04/2014 13:21:22
Quote Anchor link
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.
 
Michael -

Michael -

22/04/2014 13:23:22
Quote Anchor link
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.
Gewijzigd op 22/04/2014 13:25:10 door Michael -
 
Ivo P

Ivo P

22/04/2014 13:25:03
Quote Anchor link
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.
 
Thomas de vries

thomas de vries

22/04/2014 13:33:14
Quote Anchor link
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.