jQuery/AJAX работает над IIS5.1, но не IIS6

Я выполняю странную проблему сюда. У меня есть код, который делает jQuery ajax, звонит в веб-сервис и динамично добавляет средства управления с помощью jQuery. Все хорошо работает на моей dev машине рабочий IIS 5.1, но не при развертывании на IIS 6. Я использую VS2010/ASP.Net 4.0, C#, jQuery 1.4.2 и jQuery UI 1.8.1. Я использую тот же браузер для каждого.

Это частично работает все же. Код добавит средства управления к странице, но они не видимы, пока я не нажимаю их (они не видимы хотя). Я думал, что это было проблемой CSS, но стили там также.

Вызовы ajax похожи на это:

$.ajax({
            url: "/WebServices/AssetManager.asmx/Assets",
            type: "POST",
            datatype: "json",
            async: false,
            data: "{'q':'" + req.term + "', 'type':'Condition'}",
            contentType: "application/json; charset=utf-8",
            success: function (data)
            {
                res($.map(data.d, function (item)
                {
                    return {
                        label: item.Name,
                        value: item.Name,
                        id: item.Id,
                        datatype: item.DataType
                    }
                }))
            }
        })

Изменение типа контента делает сбой автоматического заполнения. Я четыре раза проверил, и все пути корректны, нет никакого нижнего колонтитула документа, включенного в IIS, и я не использую сжатие IIS.

Какая-либо идея, почему страница будет отображаться и работать правильно в IIS 5, но только частично в IIS 6? (Если бы это перестало работать полностью, то это имело бы больше смысла!). Действительно ли это - проблема jQuery или CSS?

Править: Я использую "contentType: "application/json"; charset=utf-8" я скопировал проверочный вызов, который имел приложение/JavaScript.

@Gaby: я хорошо знаю о том, что сервер не имеет никакого отношения к CSS или JavaScript, однако, который является единственной разницей между кодом, который делает и не работает.

Все файлы jquery/css идентичны между моей локальной dev машиной (IIS 5) и сервером (iis 6).

@jaymz: я дам скрипачу попытку видеть, существует ли различие. Я использую IE8, но он не входит в режим эмуляции.

РЕШЕНИЕ: (Режим Compatbility!) После проверки всего в Скрипаче и нахождении никаких различий, я попробовал его в Firefox, где это работало. Получил меня к размышлению и конечно же, я был неправ, IE входил в режим эмуляции. по-видимому, по умолчанию это будет использовать режим эмуляции на интранет, но не localhost (который, оказалось, был различными версиями IIS). Я попробовал IE7 и получил то же самое. Я должен изменить свой код, чтобы удостовериться, что он работает над IE7 также.

1
задан Mikejh99 8 June 2010 в 16:27
поделиться

2 ответа

Вы прогоняли запрос с помощью трассировщика? Попробуйте использовать Fiddler в IE, и посмотрите, возвращаются ли заголовки/содержание по-разному с двух разных серверов.

Навскидку, я могу только предположить, что IE (если это IE8, вы не упомянули, какой браузер использовали) использует режим совместимости, когда видит IIS 5, но не для IIS 6. Я могу ошибаться, но заголовки должны дать вам больше представления о том, что отличается.

2
ответ дан 2 September 2019 в 23:59
поделиться

Дважды проверьте, все ли вы развернули на сервере с IIS 6 например jQuery 1.4.2, jQuery UI 1.8.1 и т. д.

0
ответ дан 2 September 2019 в 23:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: