Intereting Posts
Один длинный класс или несколько более коротких классов? Загружать только XPath-поиск в память XMLReader? Как мне получить доступ к flashmessenger в моем файле макета, в zend framework? Как заблокировать прямой доступ к моим файлам JavaScript? Объединение двух многомерных массивов с использованием общего значения массива Дизайн MySQL с динамическим количеством полей PHP – Удалить элемент XML Как вывести MD5 хешированный пароль в виде обычного текста? Создать программно переменный продукт и два новых атрибута в Woocommerce Загрузка данных из базы данных с помощью php и чистого ajax в текстовое поле сравнить наборы свойств, чтобы найти наилучшее соответствие Кратчайшая возможная кодированная строка с возможностью декодирования (сокращать URL) с использованием только PHP 404 Ответ заголовка, но страницы отображаются нормально? Загрузка нескольких файлов с помощью AJAX и PHP Ошибка SSL SSL3_GET_SERVER_CERTIFICATE: проверка сертификата не выполнена

jQuery.ajax () v1.5 возвращает «parsererror» для json-данных

У меня есть эта функция для получения идентификатора сервера из списка. Функция всегда возвращает «parsererror». Я просмотрел данные JSON, но я не могу заставить его работать, поскольку jQuery переписал ajax в версии 1.5.

function server_id() { $.ajax({ type: "GET", url: "http://localhost/server_list.php", dataType: "json", success: function(data, status) { alert(status + "\n\n" + data.server_id); }, complete: function(data, status){ alert(status); } }); } 

server_list.php

  header('Content-type: application/json'); $output['server_id'] = '123'; print json_encode($output); 

В Firebug Net >> XHR читает его как JSON, когда он открывает вкладку, а вкладка «Ответ» показывает, что ниже.

 {"server_id":"123"} 

Я также попытался настроить заголовок типа контента, как показано ниже, но не повезло.

 Content-type: application/json 

ОБНОВЛЕНО

Я получаю «parsererror», если плагин проверки загружается из http://bassistance.de/jquery-plugins/jquery-plugin-validation docs.jquery.com/Plugins/Validation v1.7 .

Если вы добавите plug jquery, то автоматически добавит обратный вызов jsonp в строку запроса, даже если вы установите значение false или не включите parms для jsonp. Очень странно

Любые идеи о том, как исправить?

благодаря

Solutions Collecting From Web of "jQuery.ajax () v1.5 возвращает «parsererror» для json-данных"

Кажется, вам нужна регулярная json-связь ( dataType – это «json» вместо «jsonp», а server_list.php отправляет json), но вы устанавливаете параметры jsonp . Удалите jsonp и jsonpcallback . Установка jsonp на false не означает, что вы отключите его!

Когда эти две строки прокомментированы, все работает нормально .

Простым решением здесь является то, что jQuery 1.5 несовместим с 1.7 плагина проверки. Переход к jQuery 1.4.x (или, в противном случае, исправление или удаление кода плагина проверки в качестве предложенного филамента) решает проблему.

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

Я страдал несколько дней, прежде чем найти эту тему, благодаря тем, кто указал на jQuery.validate в качестве виновника.

В моем тестировании на самом деле кажется jquery.validate-vsdoc.js, который вызывает проблему, а не сам плагин, в случае, если это будет полезно для кого-либо еще.