Jquery ajax verzend niet alle tekens.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ama saril

ama saril

06/08/2013 16:37:52
Quote Anchor link
Ik heb het volgende stukje code:
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
23
24
25
26
27
<?php
function updateDeCodering()
{
    var
id = $("#id").val();
    var
code = $("#codering").val();    
    var
getString = "id="+id+"&code="+code;
    $.ajax(
    {

        type: "GET",
        data: getString,
        url: "../data/insertData.php",
        dataType: "json",        
        success: function(data)
        {
            
            alert('voltooid');            
            
        },

        error: function(jqXHR, textStatus, errorThrown)
        {

            alert('fout updateCodering');
            alert(jqXHR);
            alert(textStatus);
            alert(errorThrown);
        }            
    });    
}

?>


Het veld codering en id zijn beide invoervelden. Nu is het probleem dat als ik dus een teken als '+' in 1 van deze velden plaatst deze niet correct wordt meegestuurd. Heb insertData.php deze parameter laten echo'en en hij heeft dan het hele + teken niet meegekregen. Als ik gewoon standaard tekst gebruik werkt het wel Weet iemand hier een oplossing voor? Ik zit zelf te denken om het op de 1 of andere manier te escapen maar kan er niet echt iets over vinden.
Bedankt
 
PHP hulp

PHP hulp

24/11/2024 11:15:08
 
Veur Heur

Veur Heur

06/08/2013 16:42:46
Quote Anchor link
Vul de parameter data eens als volgt:

data: {
id: id,
code: code
},

Kijk of dat werkt en anders heb je nog altijd encodeURIComponent
 
Kris Peeters

Kris Peeters

06/08/2013 16:54:12
Quote Anchor link
Get betekent "halen", post betekent "(informatie) toevoegen" (of zo iets).
Ook met ajax kan je daar beter rekening mee houden.
Denk er aan: alle karakters waar een URL het moeilijk mee heeft, zullen problemen geven.

- Get dient voor bv. een id te sturen.
De gebruiker stuurt een id naar de server. Dan stuurt de server de inhoud van dat record terug.

- Wanneer een gebruiker informatie toevoegt aan een website (commentaar, ...) gebruik je post.

Zonder dit getest te hebben ... probeer dit eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$.ajax({
  type: "POST",
  data: {
    id: $("#id").val(),
    code: $("#codering").val()
  },
...


En uiteraard $_POST in plaats van $_GET bij het verwerken.
 
Ama saril

ama saril

06/08/2013 17:31:38
Quote Anchor link
Ah bedankt, ik zal morgen de resultaten even posten (zit nu in de trein).

Toevoeging op 07/08/2013 10:14:34:

Het werkt, bedankt allemaal voor de antwoorden. Ga nu direct mijn datainvoer functies omzetten naar POST
 



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.