【问题标题】:In chrome,ie and ff win a JQuery ajax script works like a charm. In Safari and firefox however it doesn't在 chrome 中,ie 和 ff win 中的 JQuery ajax 脚本就像一个魅力。但在 Safari 和 firefox 中却没有
【发布时间】:2011-11-03 13:23:09
【问题描述】:

作为 scripts.js 中所有内联脚本的一部分的 Jquery javascript 与 Modernizr2.0 的标准样板组合

在 macintosh 上的 chrome 13.0.782.215 中,即 7/8 和 windows 上的 mozilla 3.6.20 中,脚本就像一个魅力。即 9 无法测试。

在 Safari 和 firefox 中却没有??

这是脚本:

jQuery(document).ready(function(){  
jQuery("a#deletefromcart").click(function(event){
event.preventDefault();
var did = jQuery(this).data('delid');
jQuery.ajax({
type: "GET",
url: "assets/components/cart/deletefromcart.php",
data: "id=" + did
});
jQuery("tr.hide"+did).hide("slow");
location.reload(true);
});

萤火虫在 mozilla 中报告

404 Not Found

1.23s

jQuery is not defined
anonymous()scripts.js (regel 22)
anonymous()jquery....min.js (regel 17)
anonymous()jquery....min.js (regel 16)
jQuery("tr.hide"+did).hide("slow");
scripts.js (regel 22)


"NetworkError: 404 Not Found - http://secure.hurby.com/cart/assets/components/cart/deletefromcart.php?id=415"

用 cache=false 做了一些实验 成功后加载但没有运气。

我似乎无法指出哪里出了问题,更多的是艺术家而不是开发人员,所以 请帮我把这个脚本改写成跨浏览器兼容的东西。

太阳免费升起,所以:

奖励将是你的 修复此问题的人将收到一张 Ciclee 打印件,在我的新网站中选择 144 件作品中的一件。如果我能让它工作,就不会卖任何东西。

格 赫比


是的,该文件存在 Juhana。 Roselan,我将参数更改为您建议的值。仍然是相同的行为。 Chrome、ie 和 moz win 在新参数下仍然运行良好。

但 Mac 版的 safari 和 moz 仍然拒绝这样做。

在购物车中添加或删除绘画不需要登录,因此您可以自己测试

gr 赫比

ps。 http://secure.hurby.com/schilderijen,-kaarten-en-giclee-prints/werken/braaaf.html

都是荷兰语,所以希望它有点意义,只需点击“in winkelwagen”按钮,您应该会被重定向到购物车。在这里你会找到该项目。有时需要做两次,之后就可以正常工作了。通常你会注册去结帐。

单击 X(在 sfari 和 ff mac 中被破坏的功能)应该删除该项目,但在 Safari 和 ff mac 中不会。


好的,托尼,

我想你得到了一些东西*-)

文件路径应该是: http://secure.hurby.com/assets/components/cart/deletefromcart.php http://secure.hurby.com/cart/assets/components/cart/deletefromcart.php

不知何故,ff 和 safari 添加:cart/ before.

所有文件都是同一个域。

现在它正在找出为什么会在这两个浏览器中发生这种情况以及如何将代码更改为可以正常工作的代码。真的不知道……

gr 哈比


Mac 上 Moz 的正确路径(没有得到提到的 404)=

/assets/components/cart/deletefromcart.php 而不是

资产/组件/购物车/deletefromcart.php

但现在 moz mac 中的 firebug 说脚本错误:

jQuery 没有定义 jQuery("tr.hide"+did).hide("slow");

在路径前设置 / 时,Windows IE 停止工作 mac 上的 chrome 和 windows 上的 moz 仍然可以。

所以使用“/” 3 个浏览器正在工作。 没有“/”只有两个。

这里是当前代码的状态:

jQuery(document).ready(function(){  
jQuery("a#deletefromcart").click(function(event){
event.preventDefault();
var did = jQuery(this).data('delid');
jQuery.ajax({
type: "GET",
url: "/assets/components/cart/deletefromcart.php",
data: {id: did}
});
jQuery("tr.hide"+did).hide("slow");
location.reload(true);
});

【问题讨论】:

  • 该文件存在吗?当我尝试访问该 URL 时收到 404。
  • 我不确定它是否已链接,但 ajax 数据参数不应该是 json 对象吗?在你的情况下:data: {id: did}
  • 如果您注册了一个帐户并停止创建新的“未注册”帐户,那么您将能够为您的问题添加更新。请执行此操作并停止使用更新答案。谢谢。

标签: jquery cross-browser modernizr modx-revolution


【解决方案1】:

FireBug 输出中的路径是否正确?即“购物车”是否应该包含两次?

http://secure.hurby.com/cart/assets/components/cart/deletefromcart.php

也许您需要将 URL 更改为

/cart/deletefromcart.php

而不是

assets/components/cart/deletefromcart.php

或者,这可能是一个跨域问题。您是否尝试从 secure.hurby.com 以外的网站调用 php 页面?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    相关资源
    最近更新 更多