0

我正在尝试为我的公司网站实现 jquery 自动完成功能,结果发现虽然我的本地网络服务器上一切正常,但当我将其上传到生产网络服务器时却无法正常工作。我已经完成了确保所有必需文件都正确上传和配置的典型故障排除例程,因此我可以放心地将其作为问题的根源丢弃。

使用 FireBug 查找发生了什么的线索,我查看了我的 HTTP 标头,发现在我的本地网络服务器和生产网络服务器上,请求标头似乎是相同的。这是请求标头:

接受 application/json, text/javascript, /; q=0.01 Accept-Encoding gzip, deflate Accept-Language en-us,en;q=0.5 Connection keep-alive Content-Length 56 Content-Type application/x-www-form-urlencoded; charset=UTF-8 Cookie pemco_tpl=pemco; __utma=249376134.120577909.1319559821.1335888590.1335890492.201;__utmz=249376134.1335369030.191.2.utmcsr=google|utmccn=(有机)|utmcmd=有机|utmctr=(未提供%20); __utmc=249376134; csrf_cookie_name=822b8ced4d8a7bc49d02b11f44efcb15;ci_session=UmYHbQs0VmsGfQckUDxRYwMyAD8Fc1UgXGUNdQMrVT0BbQxpXANWawIzVSdaalcjATtTMFUxBz5TcANkVjBabVE8DmdQaVA0VGYKOAxtUmdSMgdlCzdWYAY2B2BQPlFrA2AAYQUyVWZcZA0zA2BVZwE0DGZcZVZkAjZVJ1pqVyMBO1MyVTMHPlNwA29WcloDUWwOYVBvUCNUMgpyDH9SJFI8ByQLOlZgBjIHbVAkUWADMgA1BX9VYlwyDTIDdlVnATIMKVxtVjECZ1UnWmpXIwE7UzJVMwc%2BU3ADc1ZxWjlRfw5aUGpQNlQyCm8MeFIkUjwHJAs6VmYGNAdtUCRRHwNtAH8FOFU%2FXGwNZwN3VWEBLAw3XHxWKgIAVWxaP1c0AW5TdFVwByRTHANSViJaalEjDjRQMFBxVAAKTgxbUjBSMwdsCyBWIwZwB21QN1FjAywANQV4VXNcRw1jAztVPwFtDChcblYyAmZVNVphV2EBMVMyVSMHQlM7A3RWZ1o6UWIOfVAkUGBUZgovDDxSJFI8ByQLOlZgBjUHbVAkUT4DYwB2BSVVDFxhDWUDLFU9AXQMblwoVnsCdVU%2BWjhXagEwUzBVMAcxU2oDP1YyWmhRNA41UDBQLA%3D%3D; __utmb=249376134.2.10.1335890492 主机 www.pemco.com.pa 推荐人http://www.pemco.com.pa/ User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0 X-Requested-With XMLHttpRequest

然而,响应标头差异很大。这是我本地网络服务器的响应标头:

Connection Keep-Alive Content-Length 289 Content-Type text/html Date Tue, 01 May 2012 15:48:05 GMT Keep-Alive timeout=5, max=100 Server Apache/2.2.21 (Win32) PHP/5.3.9设置 Cookie csrf_cookie_name=3473477c216fd9456d709fb0dbda10e1; expires=星期二,2012 年 5 月 1 日 17:48:05 GMT;path=/ ci_session=4cmpiXkC37H53h8PD3hIRPObPeip0rCTEEYg5CDilBAi7k9J%2BesxJbu21Ls2Kbo8vSrW3ptOtEGNL1K8pGxI6%2BG1D8ZNd7%2BYiwNQG55MBRz7sAvwtIX7hVDPlyglV3DZwlOH0eCSlPFm7ZmdH46KTnwbd3%2FcftOykBlJZKlNHpdY9obcKVnYTVaCAta3fFGiM4K%2FfoqlIz%2FPCpn9Kfghv8r7fjJ7z17H8huuoWE%2FI0EmTWyag3wJxrshi80ab7JZ1c73f7cIZTpTKn7bMFB4vm9cSgu6XXBFw%2Fmx2bAoawmQHRMhQFHtBZaLcHZGHCrPwLcX3qr8KwxzfwpvKN7TzEX0GpQHJZL72CwAEA8cJ27EfzBfzx1qz8KQ4VL1W1Hq; path=/ X-Powered-By PHP/5.3.9

这是来自我的生产网络服务器的响应标头:

Connection Keep-Alive Content-Length 0 Content-Type text/html Date Tue, 01 May 2012 16:41:51 GMT Keep-Alive timeout=15, max=90 MS-Author-Via DAV Server Apache Set-Cookie csrf_cookie_name=822b8ced4d8a7bc49d02b11f44efcb15 ; expires=星期二,2012 年 5 月 1 日 18:41:51 GMT;path=/ X-Powered-By PleskLin

我可以清楚地看到来自生产网络服务器的响应标头返回的 Content-Length 为 0,但我的问题是为什么?正如我之前提到的,我非常有信心我的所有脚本都已正确上传和配置,因此它必须是我的生产网络服务器上的某种类型的配置,它以某种方式影响了我的脚本。我的公司网站的 URL 是www.pemco.com.pa,以防您自己检查。我真诚地感谢您为解决此问题提供的任何帮助。我完全被困在这一点上,不知道该怎么做。

4

1 回答 1

0

问题已解决。问题是我的生产网络服务器使用的是 PHP v5.1,并且直到 PHP v5.2 才包含对 JSON 的本机支持。使用 PECL 安装 JSON 扩展后,我设法解决了这个问题。感谢大家的反馈。

于 2012-05-02T15:54:01.737 回答