[jquery] getJSON geeft 406
Hallo,
ik ben bezig met een beheer gedeelte voor een website, deze werkt met CKEditor. Nu post ik dit met getJson, maar zodra hij post krijg ik een status 406.
De url ziet er niet echt uit omdat de html ook wordt meegestuurt.
dit wordt verstuurt via:
Hoe kan ik dit oplossen? of is dit de verkeerde manier?
Ps.Sorry dat ik op het moment weer te actief op phphulp ben, ik zoek wel degelijk zelf eerst naar een oplossing.
ik ben bezig met een beheer gedeelte voor een website, deze werkt met CKEditor. Nu post ik dit met getJson, maar zodra hij post krijg ik een status 406.
De url ziet er niet echt uit omdat de html ook wordt meegestuurt.
Code (php)
1
site.com/admin/editip.php?value=%253Cp%2520style%3D%2522text-align%3Acenter%2522%253E%253Cimg%2520alt%3D%2522%2522%2520src%3D%2522%2Fhosting%2Ffiles%2FNieuwsbrief%2F545655.png%2522%2520style%3D%2522height%3A143px%3B%2520width%3A200px%2522%2520%2F%253E%26nbsp%3BWe%2520werken%2520aan%2520een%2520nieuwe%2520website%26nbsp%3B%253Cimg%2520alt%3D%2522devil%2522%2520src%3D%2522http%3A%2F%2Fwilly.mych-studio.com%2Fadmin%2Fckeditor%2Fplugins%2Fsmiley%2Fimages%2Fdevil_smile.png%2522%2520style%3D%2522height%3A23px%3B%2520width%3A23px%2522%2520title%3D%2522devil%2522%2520%2F%253E%253C%2Fp%253E%250A%250A%253Cp%2520style%3D%2522text-align%3Acenter%2522%253E%253Ciframe%2520frameborder%3D%25220%2522%2520height%3D%2522315%2522%2520src%3D%2522%2F%2Fwww.youtube.com%2Fembed%2FebXbLfLACGM%3Flist%3DPLFPg_IUxqnZM3uua-YwStHJ1qmlQKBnh0%2522%2520width%3D%2522560%2522%253E%253C%2Fiframe%253E%253C%2Fp%253E%250A&type=html
dit wordt verstuurt via:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function post_editip(element, value, type, tabel, cel, id) {
$(element).css("background", "rgb(255, 211, 129)");
var json_url = 'editip.php';
$.getJSON( json_url, {
value: value,
type: type,
tabel: tabel,
cel: cel,
id: id
})
.done(function(data) {
if(data.error == 'NULL') {
$(element).css("background", "rgb(129, 255, 129)");
$(element).parent().html(data.rvalue);
} else {
alert('Fout');
$(element).css("background", "rgb(255, 139, 129)");
}
})
.fail(function() {
alert('Systeemfout.');
$(element).css("background", "rgb(255, 139, 129)");
});
}
$(element).css("background", "rgb(255, 211, 129)");
var json_url = 'editip.php';
$.getJSON( json_url, {
value: value,
type: type,
tabel: tabel,
cel: cel,
id: id
})
.done(function(data) {
if(data.error == 'NULL') {
$(element).css("background", "rgb(129, 255, 129)");
$(element).parent().html(data.rvalue);
} else {
alert('Fout');
$(element).css("background", "rgb(255, 139, 129)");
}
})
.fail(function() {
alert('Systeemfout.');
$(element).css("background", "rgb(255, 139, 129)");
});
}
Hoe kan ik dit oplossen? of is dit de verkeerde manier?
Ps.Sorry dat ik op het moment weer te actief op phphulp ben, ik zoek wel degelijk zelf eerst naar een oplossing.
Zet eens quote's om de veldnamen, dus "value": value
Ik zou het met $.post doen.
Ik zou het met $.post doen.
Ik zie helemaal niet in waarom je hier JSON voor nodig hebt. Ik vermoed dat je een soort CMS systeem wilt maken? waarbij de gebruiker pagina-content kan wijzigen via CKEditor? Je kan dan toch net als elk ander formulier de data POSTen?
@ger van steenderen
omdat de php pagina json terug stuurt, je klikt op een div met html, deze opent dan de ckeditor in een dialog. Na het bewerken en op "opslaan" te hebben geklikt gaat deze via die getjson posten, meteen geeft deze een json terug met de voruitgang (of het gelukt is, welke mogelijke fouten, en de data die is weggeschreven);
@frank
Een klein beperkt systeem. ik gebruik jquery zodat het allemaal een beetje snel blijft. anders moet ik steeds opnieuw al die tabbelen inladen en dat kan wel wat zijn (alles is in tabel structuur en de gebruiker kan dingen bewerken door erop te klikken en toevoegen boven de tabel via een knopje).
omdat de php pagina json terug stuurt, je klikt op een div met html, deze opent dan de ckeditor in een dialog. Na het bewerken en op "opslaan" te hebben geklikt gaat deze via die getjson posten, meteen geeft deze een json terug met de voruitgang (of het gelukt is, welke mogelijke fouten, en de data die is weggeschreven);
@frank
Een klein beperkt systeem. ik gebruik jquery zodat het allemaal een beetje snel blijft. anders moet ik steeds opnieuw al die tabbelen inladen en dat kan wel wat zijn (alles is in tabel structuur en de gebruiker kan dingen bewerken door erop te klikken en toevoegen boven de tabel via een knopje).
getJSON is een shorthand voor:
Wat jij deed is de naam van de property een variable geven (door " weg te laten). En ik vermoed dat het daar op fout gaat.
Met GET wordt de data in de url meegeven, ik heb dat persoonlijk liever niet, dus gebruik ik altijd POST.
Code (js)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$.ajax({url: 'link.php',
type: 'GET',
dataType: 'json',
data: {
"value": value,
"id": id
}
})
type: 'GET',
dataType: 'json',
data: {
"value": value,
"id": id
}
})
Wat jij deed is de naam van de property een variable geven (door " weg te laten). En ik vermoed dat het daar op fout gaat.
Met GET wordt de data in de url meegeven, ik heb dat persoonlijk liever niet, dus gebruik ik altijd POST.
>> Wat jij deed is de naam van de property een variable geven (door " weg te laten).
Dat kan niet in JavaScript. Alles voor de : is altijd de naam, geen variabele. Als je <ECMAscript 5 gebruikt heb je hier dan alleen problemen mee als je een keyword gebruikt (zoals "delete").
Zie http://bonsaiden.github.io/JavaScript-Garden/#object.general
Dat kan niet in JavaScript. Alles voor de : is altijd de naam, geen variabele. Als je <ECMAscript 5 gebruikt heb je hier dan alleen problemen mee als je een keyword gebruikt (zoals "delete").
Zie http://bonsaiden.github.io/JavaScript-Garden/#object.general




