Intereting Posts
WordPress: Список сообщений без комментариев Множественный переключатель для php-формы Несоответствие шифрования между Java и PHP отправлять только полевые поля. если пустые, то не отправляйте по электронной почте. php для отправки по электронной почте Как обеспечить дополнительную безопасность для проверки источника запроса Селен: Как утверждать, что определенный элемент присутствует в определенной ячейке определенной таблицы? Структура папок PHP XAMPP DOCUMENT_ROOT Сгенерировать Windows .lnk файл с помощью PHP Как использовать array_unique для массива массивов? Как работает mysqli :: commit и mysqli :: rollback? Как отключить изображение в php Как хранить PHP Trie для всех последующих использования? Использование регулярного выражения для фильтрации года фиксированной длины 0 или 4 цифры Как удалить что-либо в строке после "-"? Как внутреннее соединение работает с отношениями «многие ко многим» с помощью Doctrine и Symfony2

странная вещь, ответ ajax включает пробелы

Я имею несколько JS-функций, которые вызывают разные php-файлы с помощью метода $ .ajax jquery … вчера все было в порядке, но после очистки моего кода я не знаю, что я сделал, но теперь ответ ajax похож на "[space]data" вместо "data" ..

я мог бы использовать функцию обрезки в Js, но я хочу исправить источник проблемы …

все мои php-файлы имеют недостающие последние ?> , чтобы избежать этого, и до того, как <?php я уверен, только что проверил, нет места …

почему я представил эту ошибку? это сервер? браузера?

Самое забавное, что вчера я очистил свой код с помощью JSLINT ..! плохая идея..

благодаря

Когда у меня была такая же проблема, это был просто возврат каретки или пробел после закрытия PHP-тега, что удивительно легко ввести случайно.

Убедитесь, что вы открыли PHP-тег в начале первой строки вашего скрипта, закройте его в конце и удалите все после закрытого тега (его должно легко заметить в хорошем редакторе).

Я не вижу причин, по которым не закрывать ваш тег PHP не просто будет очень раздражать … но это только я!

Я знаю, что я опоздал на эту тему, нашел ее, потому что у меня была такая же проблема. Я смог подтвердить, что, хотя вы можете очистить все интервалы в своей функции обратного вызова, все равно можно получить эти белые пробелы / каретки в тексте ответа (вы можете даже увидеть это в инструментах разработчика Chrome в разделе «Сеть», вкладка).

Поэтому я протестировал и обнаружил, что если вы поместите ob_clean(); в верхней части вашей функции обратного вызова, он очищает любое из этих пространств. Я не знаю много об этой функции, только что она упоминалась в кодексе ( http://codex.wordpress.org/AJAX_in_Plugins#Debugging ). Надеюсь, что это поможет любому, кто найдет здесь путь из-за той же проблемы

Если ваш ответ с сервера включает дополнительное пространство, то причиной этого является PHP-код. Если ваш ответ не включает дополнительное пространство, проблема должна быть в javascript.

Используйте Fiddler, чтобы проверить фактический ответ с сервера, чтобы увидеть, действительно ли в нем есть место. Вы наверняка знаете, есть ли проблема с PHP или JS. Затем вы можете опубликовать соответствующий код.