Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax Coldfusion cfc返回json数据错误和问题_Ajax_Jquery_Coldfusion_Coldfusion 8 - Fatal编程技术网

Ajax Coldfusion cfc返回json数据错误和问题

Ajax Coldfusion cfc返回json数据错误和问题,ajax,jquery,coldfusion,coldfusion-8,Ajax,Jquery,Coldfusion,Coldfusion 8,我有两台服务器,开发和生产,都运行IIS7和Coldfusion 8标准 然而,在生产过程中,整个网站都在ssl上,除了登录之外的所有页面都是ssl 我在做一个半coldfusion/ajax支持的站点搜索 在我们的开发服务器上,一切都运行得很顺利,当我转到生产环境时,我开始出现一些非常奇怪的错误 比如数据没有返回json格式的数据,即使returntype=json,我在返回数据的数组周围序列化了json 然后,当我尝试删除returntype=json时,它总是说无效令牌 当调用ajax时,

我有两台服务器,开发和生产,都运行IIS7和Coldfusion 8标准

然而,在生产过程中,整个网站都在ssl上,除了登录之外的所有页面都是ssl

我在做一个半coldfusion/ajax支持的站点搜索

在我们的开发服务器上,一切都运行得很顺利,当我转到生产环境时,我开始出现一些非常奇怪的错误

比如数据没有返回json格式的数据,即使returntype=json,我在返回数据的数组周围序列化了json

然后,当我尝试删除returntype=json时,它总是说无效令牌

当调用ajax时,它确保指定json的数据类型,并在url(比如json)中返回格式。所有这些都可以在我们的开发服务器上正常工作,但是ajax部分拒绝在生产环境中工作

起初我认为这是因为存在ssl问题,如果ajax url是ssl,那么它会错误地表示访问源相同源策略,因此我将ajax url更改为非ssl,然后它会执行以下操作:返回的数据不是json,或者它表示无效令牌

在我的cfc中,我有一个主cfc,它获取我需要的所有数据,以我需要的各种方式格式化,然后将这些结果放入数组中的不同位置

那就跑吧

我已经尝试在cffunction命令中删除returntype=json,当我尝试直接在url中查看cfc时,这似乎起到了作用。但是当ajax调用它时,要么它说无效令牌

当我在dev上运行相同的代码时,没有错误,所有ajax都能100%工作

对这个问题有什么建议吗


很显然,在我从ajax请求中删除了数据类型:“json”之后,它就开始工作了

亲爱的妈妈。我想知道为什么在制作和开发上会如此奇怪


谢谢。

我想我知道这个问题,几年前我遇到过这个问题。您必须在返回JSON之前返回正确的头。在开始输出任何内容之前,请尝试以下方法之一:

<cfcontent type="application/json; charset=utf-8">

这样,jQuery将能够正确地将其标识为从服务器返回的JSON。如果您告诉jQuery需要json,而服务器不发送此标头,有时会有点困惑:/

希望这有帮助