Запросы jquery 1.5 ajax ошибочны

пытаюсь перейти на jQuery 1.5, и все мои вызовы ajax прерываются. Я запускаю firefox, и он выдает мне ошибку javascript о недопустимой метке. Я использую php json_encode, вот мой ответ json

{
    "page": "1",
    "total": 9651,
    "rows": [
        {
            "cell": [
                "story",
                "51438",
                "Skin color: Handy tool for teaching evolution",
                "2011-02-20 08:30:26"
            ]
        },
        {
            "cell": [
                "story",
                "51435",
                "Photosynthesis may hold key to production of cheap hydrogen for fuel",
                "2011-02-19 10:00:03"
            ]
        },
        {
            "cell": [
                "story",
                "51478",
                "Dancers, supporters ready for THON 2011 Feb. 18-20 at Jordan Center",
                "2011-02-18 14:26:25"
            ]
        },
        {
            "cell": [
                "story",
                "51420",
                "Juggling languages can build better brains",
                "2011-02-18 13:30:44"
            ]
        },
        {
            "cell": [
                "story",
                "51434",
                "Multiple approaches necessary to tackle world's food problems",
                "2011-02-18 13:30:44"
            ]
        },
        {
            "cell": [
                "story",
                "51436",
                "U.S. will no longer dominate science and research, study finds",
                "2011-02-18 13:00:49"
            ]
        },
        {
            "cell": [
                "story",
                "51492",
                "NPR to air interview with Penn State professor today (Feb. 18)",
                "2011-02-18 11:20:10"
            ]
        },
        {
            "cell": [
                "story",
                "51437",
                "Research universities play a major role in national security",
                "2011-02-18 10:30:28"
            ]
        },
        {
            "cell": [
                "story",
                "51472",
                "Paterno's necktie from 400th win nets $10,200 for Public Broadcasting",
                "2011-02-18 09:20:52"
            ]
        },
        {
            "cell": [
                "story",
                "51363",
                "PSU Extension offers free tax preparation help for low-income families",
                "2011-02-18 01:32:04"
            ]
        },
        {
            "cell": [
                "story",
                "51477",
                "Students set to produce complete THON coverage, including webcast",
                "2011-02-17 15:24:47"
            ]
        },
        {
            "cell": [
                "story",
                "51385",
                "The Medical Minute: Seasonal Affective Disorder",
                "2011-02-17 12:27:30"
            ]
        },
        {
            "cell": [
                "story",
                "51345",
                "Abington professor's new book exposes NBA betting scandal",
                "2011-02-17 11:59:31"
            ]
        },
        {
            "cell": [
                "story",
                "51360",
                "Student Stories: Statistical service internship makes it all add up",
                "2011-02-17 11:12:32"
            ]
        },
        {
            "cell": [
                "story",
                "51453",
                "Parking Office announces parking, transit changes related to THON",
                "2011-02-17 11:02:46"
            ]
        },
        {
            "cell": [
                "story",
                "51444",
                "Penn State's Lunar Lion team aims to land vehicle on moon by 2015",
                "2011-02-17 08:17:12"
            ]
        },
        {
            "cell": [
                "story",
                "51427",
                "Students flock to Spring Career Fair",
                "2011-02-16 12:56:27"
            ]
        },
        {
            "cell": [
                "story",
                "51419",
                "Ice Campaign receives $1 million gift from Paul and Nancy Silvis",
                "2011-02-16 10:51:45"
            ]
        },
        {
            "cell": [
                "story",
                "51353",
                "CarbonEARTH program facilitates science education, teaching",
                "2011-02-15 15:59:04"
            ]
        }
    ],
    "messages": null
}

все это отлично работает в jquery 1.4.2

думаю, мне придется подождать, чтобы обновить, но я подумал, что проверю и посмотрю, есть ли у кого-нибудь еще решение?


person mcgrailm    schedule 18.02.2011    source источник


Ответы (3)


Итак, я нашел правильное решение после некоторого поиска. Я нашел отчет об ошибке для jQuery Validate. В нижней части отчета автор валидации предоставляет разветвленную версию, которая устраняет проблему, спасибо всем за помощь.

person mcgrailm    schedule 21.02.2011

Скорее всего, это происходит из-за ошибки в jquery.validate.js. Существует быстрое (не рекомендуемое!) решение jQuery.ajaxSetup({ jsonp: null, jsonpCallback: null}); — если оно работает для вас, изучите различные варианты, здесь это обсуждение проблемы "Недопустимая метка" в версии 1.5.

person Alex Pakka    schedule 18.02.2011
comment
до сих пор, если я уберу jQuery.validate.js, проблема исчезнет, ​​а исправление, которое вы мне дали, устраняет проблему, я сейчас посмотрю на обсуждение, на которое вы ссылались. - person mcgrailm; 21.02.2011
comment
не могли бы вы сказать мне, в чем недостаток использования вашего исправления? - person mcgrailm; 21.02.2011
comment
@mcgrailm - Если вам когда-нибудь понадобится использовать jsonp для мэшапов и т. Д., Это будет мешать. Подробнее о JSONP: [ibm.com/developerworks/library/wa-aj -jsonp1/] - person Alex Pakka; 21.02.2011

Это ошибка, и она исправлена ​​в 1.5.1. См. билет http://bugs.jquery.com/ticket/8125. последний выпуск jQuery с последними исправлениями на http://code.jquery.com/jquery-git.js

Вы также можете попробовать jQuery.ajaxSetup({ jsonp: null, jsonpCallback: null}); в соответствии с этой веткой JQuery 1.5 и новый тип данных Text JSON

person Hussein    schedule 18.02.2011
comment
-git версия не решает проблему. - person mcgrailm; 21.02.2011