ajax werkt niet op deze manier
Hallo. Ik heb onderstaande code. echter ajax wordt zo niet uitgevoerd. als ik ajax in een click function plaats waarbij deze met een klik op een button wordt opgeroepen werkt het wel. heeft iemand een idee waatom dit zo niet werkt?
Onderstaande de php (save-content.php) die door ajax wordt opgeroepen en die vervolgens de content moet opslaan in een bestand
zoals gezegd onderstaande php werkt gewoon als deze wordt opgeroepen door ajax die op zijn beurt pas wordt geactiveerd via een click funtie, maar zonder dus niet blijkbaar!!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="form">
<section id="content">
<h1 id="rij-1">content hier</h1>
<p>voorbeeld tekst</p>
<h1 id="rij-2">Hier nog meer content</h1>
<p>nog meer voorbeeld tekst</p>
</section>
</div>
<script>
content = document.getElementById('content');
var code = content.innerHTML;
alert("onderstaande de content:");
alert(code);
$paginanaam = "pagina1";
$.ajax({
url: 'save-content/save-content.php',
type: 'post',
data: {code:$code,paginanaam:$paginanaam},
datatype: 'html',
success: function(rsp){
location.reload();
alert("hwlllo");
}
});
</script>
</body>
</html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="form">
<section id="content">
<h1 id="rij-1">content hier</h1>
<p>voorbeeld tekst</p>
<h1 id="rij-2">Hier nog meer content</h1>
<p>nog meer voorbeeld tekst</p>
</section>
</div>
<script>
content = document.getElementById('content');
var code = content.innerHTML;
alert("onderstaande de content:");
alert(code);
$paginanaam = "pagina1";
$.ajax({
url: 'save-content/save-content.php',
type: 'post',
data: {code:$code,paginanaam:$paginanaam},
datatype: 'html',
success: function(rsp){
location.reload();
alert("hwlllo");
}
});
</script>
</body>
</html>
Onderstaande de php (save-content.php) die door ajax wordt opgeroepen en die vervolgens de content moet opslaan in een bestand
zoals gezegd onderstaande php werkt gewoon als deze wordt opgeroepen door ajax die op zijn beurt pas wordt geactiveerd via een click funtie, maar zonder dus niet blijkbaar!!
Code (php)
Gewijzigd op 09/09/2023 15:10:24 door Paul Weiss
Lijn 26 is PHP. Dat klopt niet.
die had ik inderdaad al gezien en aangepast. echter werkt nog steeds niet. de ajax wordt niet uitgevoerd. begrijp er niets van.
Wat zegt je browser bij de inspector?
Geen idee wat je precies bedoeld. je bedoeld de inspector openen en waar zou ik dan op moeten letten? of moet ik iets in javascript toevoegen om dit kunnen zien.
Toevoeging op 09/09/2023 17:49:18:
zie het al. dit staat er:
Uncaught ReferenceError: $code is not defined
at index.php:250:13
Toevoeging op 09/09/2023 18:01:51:
terwijl $code echt wel een waarde heeft. heb deze met alert nog laten weergeven
Toevoeging op 09/09/2023 18:08:01:
deze bedoel ie:
data: {code:$code,paginanaam:$paginanaam},
Toevoeging op 09/09/2023 18:30:10:
ik heb het even in content storage geplaatst. en werkt dan wel!! mhhh. local storage had ik al eerder geprobeerd, maar lukte toen ook niet. gek hoor. ik duik er nog verder in om te achterhalen wat nu precies het probleem is.
Toevoeging op 09/09/2023 18:43:37:
ben er al achter. variable toewijzing gebeurd niet op de juiste manier. ajax is query en deze manier van toewijzen is nodig in query blijkbaar
dus zonder variable ervoor als je deze in ajax wilt toewijzen.
Toevoeging op 09/09/2023 18:44:30:
geen idee wat de logica is waarom het zo moet gebeuren
Toevoeging op 09/09/2023 17:49:18:
zie het al. dit staat er:
Uncaught ReferenceError: $code is not defined
at index.php:250:13
Toevoeging op 09/09/2023 18:01:51:
terwijl $code echt wel een waarde heeft. heb deze met alert nog laten weergeven
Toevoeging op 09/09/2023 18:08:01:
deze bedoel ie:
data: {code:$code,paginanaam:$paginanaam},
Toevoeging op 09/09/2023 18:30:10:
ik heb het even in content storage geplaatst. en werkt dan wel!! mhhh. local storage had ik al eerder geprobeerd, maar lukte toen ook niet. gek hoor. ik duik er nog verder in om te achterhalen wat nu precies het probleem is.
Toevoeging op 09/09/2023 18:43:37:
ben er al achter. variable toewijzing gebeurd niet op de juiste manier. ajax is query en deze manier van toewijzen is nodig in query blijkbaar
dus zonder variable ervoor als je deze in ajax wilt toewijzen.
Toevoeging op 09/09/2023 18:44:30:
geen idee wat de logica is waarom het zo moet gebeuren
Gewijzigd op 09/09/2023 18:00:58 door Paul Weiss
Waarom die $ PHP variabelen in JavaScript?
variabelen MOGEN in javascript met een $ beginnen.
Dat is echter ongebruikelijk.
Je ziet ook dat je zelf eerst een waarde toekent aan code, en later $code gebruikt.
Wees consequent: of je gebruikt $ in javascript, of niet. Maar niet door elkaar.
Ik heb het zelf vaker mét gedaan. De reden was omdat ik vaker ruzie had met reserved words in javascript en ik toen nog te weinig kaas gegeten had van js om al dergelijke woorden te vermijden.
Ook niet raar is daarna de verwarring tussen $code in javascript en het niet spontaan in PHP bekend zijn van $code. (die uit $_POST of $_GET['code'] opgepikt moest worden.
Dat is echter ongebruikelijk.
Je ziet ook dat je zelf eerst een waarde toekent aan code, en later $code gebruikt.
Wees consequent: of je gebruikt $ in javascript, of niet. Maar niet door elkaar.
Ik heb het zelf vaker mét gedaan. De reden was omdat ik vaker ruzie had met reserved words in javascript en ik toen nog te weinig kaas gegeten had van js om al dergelijke woorden te vermijden.
Ook niet raar is daarna de verwarring tussen $code in javascript en het niet spontaan in PHP bekend zijn van $code. (die uit $_POST of $_GET['code'] opgepikt moest worden.
Hm, nooit geweten dat het kon, maar het maakt het wel verwarrend.
dat is inderdaad verwarrend.
Toevoeging op 10/09/2023 11:09:08:
Je bedoeld dus beide zo
$code = content.innerHTML;
$paginanaam = "pagina1";
Of beide zo:
var code = content.innerHTML;
var paginanaam = "pagina1";
Maar moet ik in data van ajax dan nog iets verder aanpassen als ik var gebruik?
Toevoeging op 10/09/2023 11:09:08:
Ivo P op 09/09/2023 21:21:45:
variabelen MOGEN in javascript met een $ beginnen.
Dat is echter ongebruikelijk.
Je ziet ook dat je zelf eerst een waarde toekent aan code, en later $code gebruikt.
Wees consequent: of je gebruikt $ in javascript, of niet. Maar niet door elkaar.
Ik heb het zelf vaker mét gedaan. De reden was omdat ik vaker ruzie had met reserved words in javascript en ik toen nog te weinig kaas gegeten had van js om al dergelijke woorden te vermijden.
Ook niet raar is daarna de verwarring tussen $code in javascript en het niet spontaan in PHP bekend zijn van $code. (die uit $_POST of $_GET['code'] opgepikt moest worden.
Dat is echter ongebruikelijk.
Je ziet ook dat je zelf eerst een waarde toekent aan code, en later $code gebruikt.
Wees consequent: of je gebruikt $ in javascript, of niet. Maar niet door elkaar.
Ik heb het zelf vaker mét gedaan. De reden was omdat ik vaker ruzie had met reserved words in javascript en ik toen nog te weinig kaas gegeten had van js om al dergelijke woorden te vermijden.
Ook niet raar is daarna de verwarring tussen $code in javascript en het niet spontaan in PHP bekend zijn van $code. (die uit $_POST of $_GET['code'] opgepikt moest worden.
Je bedoeld dus beide zo
$code = content.innerHTML;
$paginanaam = "pagina1";
Of beide zo:
var code = content.innerHTML;
var paginanaam = "pagina1";
Maar moet ik in data van ajax dan nog iets verder aanpassen als ik var gebruik?
Gewijzigd op 10/09/2023 11:05:37 door Paul Weiss
Je kan gewoon code en paginanaam gebruiken als variabele.
sowieso var gebruiken.
dat woord var regelt waar je var bekend is
Code (php)
1
2
3
2
3
var code = content.innerHTML
var $code = content.innerHTML
var DollarCode = content.innerHTML
var $code = content.innerHTML
var DollarCode = content.innerHTML
dat woord var regelt waar je var bekend is
hartelijk dank voor de toelichting.




