2014-05-05 104 views
-1

我有一个网站,我一直在测试服务器上工作完美,但一旦我启动该网站到另一台服务器上我得到的JavaScript错误,这阻止了我的联系人从工作中形成验证码,从而阻止表单提交。Javascript在测试服务器上工作,但在服务器上发生错误

http://www.acgtax.com/

我试图排除故障的联系方式和任何相关的脚本。我真的很感激,如果有人能指出我正确的方向来解决这个问题。

控制台错误:

JQMIGRATE: Logging is active jquery-migrate-1.2.1.js:21 
JQMIGRATE: jQuery.attrFn is deprecated jquery-migrate-1.2.1.js:41 
console.trace() jquery-migrate-1.2.1.js:43 
migrateWarn jquery-migrate-1.2.1.js:43 
JQMIGRATE: jQuery.fn.live() is deprecated jquery-migrate-1.2.1.js:41 
console.trace() jquery-migrate-1.2.1.js:43 
migrateWarn jquery-migrate-1.2.1.js:43 
JQMIGRATE: jQuery.fn.attr('selected') may use property instead of attribute jquery-migrate-1.2.1.js:41 
console.trace() jquery-migrate-1.2.1.js:43 
migrateWarn jquery-migrate-1.2.1.js:43 
event.returnValue is deprecated. Please use the standard event.preventDefault() instead. 
carouFredSel: No element found for "#foo2". 
+1

目前在http://www.accidentphoenix.com/上有** NO ** JS错误 – zerkms

+0

您似乎有记录活动。取消它会照顾这些错误 – agconti

+0

嗨@zerkms,是的,这是我的意思。 accidentphoenix是该网站的版本。另一个域acgtax.com是提供错误的域。 – gdinari

回答

2

的错误似乎是在你的PHP脚本的验证码。当您在开发工具检查XHR请求你可以看到,数学captcha.php返回

Fatal error: Call to undefined function: json_encode() in /home/acgtax3/public_html/lib/math-captcha.php on line 8 

当你检查响应头远一点,你可以看到,它好像你正在运行PHP 4.4.9在您的服务器上运行,而您在测试服务器上运行php 5.4.17。 json_encode在php 5.2 as you can see here中增加了,所以我怀疑你应该在你的活动服务器上增加php的版本至少5.2来解决这个问题。理想情况下,测试服务器和活动服务器的版本应该相同,以便在部署时防止这样的错误。

+0

感谢您的深入分析!我没有访问客户端托管帐户,以使该PHP版本升级。在请求他们呼叫他们的托管公司更新PHP版本到更新的版本之前,有没有替代php版本4.4.9的json_encode函数? – gdinari

+0

你真的应该升级到至少5.4,即使它只是出于安全原因...但是如果你坚持,我曾经与这个第三方类一起工作,它为你编码http://mike.teczno.com/JSON/doc/PEAR http://pear.php.net/pepr/pepr-proposal-show.php?id=198(不知道还存在...) – Pevara

相关问题