<cfcontent type = "text / json"> открывает диалог загрузки и другие странности ajax - PullRequest
1 голос
/ 17 сентября 2011

Недавно мы создали новый веб-сайт на нашем сервере: Windows 2K8 R2 / IIS7 / ColdFusion8 Ent.Ключевой запрос, который не работает локально, теперь не работает в рабочей среде.

Использование <cfcontent type="text/json"> в функции cfc ниже заставляет браузер открыть диалоговое окно загрузки, когда шаблон вызывает эту функцию.

<cffunction name="getPolls" access="remote" returntype="any" hint="Gets Polls">
    <cfargument name="poll_id" type="numeric" required="true">    
    <cfset var qPoll = 0>
        <cfquery name="qPoll" datasource="#application.datasource#">
            select * from polls where poll_id = #arguments.poll_id#
        </cfquery> 
        <cfcontent type="text/json">
        <cfreturn qPoll>
</cffunction>

Ниже приведен код jQuery, который вызывает вышеуказанную функцию.Когда этот код запускается внутри шаблона (test.cfm), открывается диалоговое окно загрузки, в котором предлагается сохранить файл test.cfm вместо того, чтобы на самом деле просматривать шаблон.из функции диалог загрузки больше не появляется;ОДНАКО, кажется, что обратный вызов ajax не срабатывает, и возвращается ошибка:

res is not defined

Ответы [ 2 ]

3 голосов
/ 17 сентября 2011

Правильный тип MIME для json - это application / json, поэтому добавление text / json может вызвать запрос на загрузку, поскольку этот MIME может не отображаться в IIS.

Вам не нужно добавлятьcfcontent, манипулирование заголовками может быть лучшим подходом.В любом случае jQuery будет анализировать его в json.Проверьте ответ и заголовки в своем веб-инспекторе, и вы можете узнать больше о проблеме.

0 голосов
/ 04 октября 2011

Это было связано с моим application.cfc.Мне нужно было полностью удалить метод onRequest, чтобы он заработал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...