“303在jQuery绑定的Virtuemart请求中看到其他”HTTP响应

时间:2013-12-08 10:02:11

标签: javascript jquery ssl joomla virtuemart

基于Joomla 2.5.16 CMS和VirtueMart 2.0.24c建立互联网书店。我的整个站点(https://agenty-buduschego.ru)在nginx上运行并使用SSL,这是通过在.htaccess文件中启用重写模式来强制的。

问题是,没有使用Javascript代码的Virtuemart功能(例如添加到购物车,在用户配置文件中填写州/省的下拉列表,从Virtuemart后端向用户发送电子邮件)不起作用。 VirtueMart使用资产库中提供的jQuery 1.6.1来完成所有重要的事情。

这是一个跨浏览器的问题。

以下是我在Firefox中使用Firebug查看的示例查询和HTTP响应标头:

添加到购物车GET请求:

https://agenty-buduschego.ru/index.php?option=com_virtuemart&nosef=1&view=cart&task=addJS&format=json&quantity%3D1%26quantity%255B%255D%3D1%26view%3Dcart%26virtuemart_product_id%255B%255D%3D6%26option%3Dcom_virtuemart&_=1386495981382

请求标题:

Accept  application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Cookie  4eb57c2cab77304872032c29b810ab83=ru-RU; 4eb57c2cab77304872032c29b810ab83=ru-RU; ce03aacdace0d694b35279c3e291619f=4F4313455311+8+75855145914305D50+7445B+55E30+A+4+411114E1642+5414716+94452415C446D555F+144+1+0+252+61019; 192fa9b374f512ee8093cd079b0847d4=eq6n1ih7m80efupendqjhemhb4
Host    agenty-buduschego.ru
Referer https://agenty-buduschego.ru/index.php?option=com_virtuemart&view=user&layout=edit&lang=ru
User-Agent  Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0
X-Requested-With    XMLHttpRequest

在视觉上,这会在浏览器中生成一个沙漏弹出,并且使用Firebug,我可以在jquery.min.js(第18行)中查看响应标题和“ 303 see other ”错误

回复标题:

Connection  keep-alive
Content-Length  0
Content-Type    text/html; charset=utf-8
Date    Sun, 08 Dec 2013 09:46:07 GMT
Location    http://agenty-buduschego.ru/index.php?option=com_virtuemart&nosef=1&view=cart&task=addJS&format=json&quantity[0]=1&virtuemart_product_id[0]=6&_=1386495981382&lang=ru
Server  nginx

这似乎与网站上启用的SSL相关联,因为“303 see other”被告知是对浏览器到指定位置的重定向请求,我可以看到“Location”标题以http:/开头/

另一个非工作JS事件的例子是用户配置文件中的空状态/ provice下拉列表,而如果直接粘贴到浏览器的地址行中,则以下GET似乎成功完成:

https://agenty-buduschego.ru/index.php?option=com_virtuemart&view=state&format=json&virtuemart_country_id=176&lang=ru

Virtuemart论坛没有帮助,我只是被建议调查我的SSL设置,虽然这个问题似乎在Virtuemart用户中很普遍,并且每个发现的线程都没有提供解决方案。

我怀疑更换jQuery库或黑客入侵VM代码可能有所帮助,但是要感谢有任何方向深入研究这个问题。

有什么想法吗?

UPD:点击添加到购物车按钮,点击Checkout标签中的“添加到购物车”框中的显示模式弹出窗口Virtuemart会议。

这是一个部分解决方法,因为其他Ajax函数仍然无法正常工作。

感觉问题只需要最后一脚才能解决。

也许motools脚本会影响jQuery脚本?..

从用户档案页面的标题:

<script type="text/javascript" src="/components/com_virtuemart/assets/js/jquery.min.js">
<script type="text/javascript" src="/components/com_virtuemart/assets/js/jquery.noConflict.js">
<script type="text/javascript" src="/components/com_virtuemart/assets/js/vmsite.js">
<script type="text/javascript" src="/components/com_virtuemart/assets/js/chosen.jquery.min.js">
<script type="text/javascript" src="/media/system/js/mootools-core.js">
<script type="text/javascript" src="/media/system/js/core.js">
<script type="text/javascript" src="/media/system/js/mootools-more.js">
<script type="text/javascript" src="/media/system/js/tabs.js">
<script type="text/javascript" src="/media/system/js/validate.js">
<script type="text/javascript" src="/components/com_virtuemart/assets/js/vmtabs.js">

0 个答案:

没有答案