2013-12-07 13 views
-5

Я посылаю ниже данных из текстового поля:Как получить специальный символ?

<?php 
for ($x=0; $x<=10; $x++) 
    { 
    echo "The number is: $x <br>"; 
    } 
?> 

Но когда я получаю данные от клиента на сервер становится, как показано ниже. Он избегает ++

знак, который является особым символом.

<?php 
for ($x=0; $x<=10; $x) 
    { 
    echo "The number is: $x <br>"; 
    } 
?> 

Как получить данные как они отправлены?

+0

Почему вы добавляете один и тот же файл сразу после его добавления? – Popnoodles

+0

Bro я добавляю файл в формате, таком как код: и после этого полученного кода –

+1

В этом коде ничего нет, что показывает, что предупреждено (какие данные отправляются обратно в ajax). Вы предупреждаете «Число: $ x Число: $ x Число: $ x"? – Popnoodles

ответ

0

Без комментариев по остальной части вашего кода вы выполняете запрос GET. Для кодирования url знак + равен пробелу. Но если вы хотите сохранить эти знаки плюса (+) после отправки данных, вы должны закодировать строку. Для этого есть функция, encodeURIComponent(str). Я предлагаю вам использовать это. В стороне, будьте осторожны, что вы оцениваете php.

Обычно форма будет заботиться об этом для вас, но поскольку вы обходите это действие, это одно из исправлений.

1

Отправка необработанного ввода со знаком плюс через HTTP GET приведет к тому, что знак плюса не будет отправлен. Это зарезервированный персонаж. See here.

Ваш старый код построен запрос GET вручную следующим образом:

var code = "code=" + code; 
$.ajax({ 
    // ... 
    data: code, 
    /// ... 
}); 

Но вы никогда не использовали encodeURIComponent(code), тем самым вызывая ваши знаки плюс погибнуть зияющие челюсти спецификации.

var code = "code=" + encodeURIComponent(code); 

jQuery будет делать это автоматически, если вы передадите ему простой объект. Строчные URL-адреса раздражают, поэтому это шаблон, который я предпочитаю:

$.ajax({ 
    // ... 
    data: { 
    code: code 
    }, 
    /// ... 
}); 
+0

Ваш лучший ответ, поэтому +1. – Daedalus

+0

Извините, что я «украл» ваш ответ: *) Твой не появился для меня, пока я не разместил свой. – Jackson

+0

Он был удален, так как мне не удалось воспроизвести проблему, пока я не зафиксировал несколько переменных в первом бите кода. Так что никакого вреда там нет. – Daedalus

Смежные вопросы