【问题标题】:jQuery WWW errorjQuery 万维网错误
【发布时间】:2013-03-27 23:34:54
【问题描述】:

我正在开发一个网站,表单依赖于 jQuery $.ajax,它会发布数据然后发回结果。

但我有一个问题。

如果我通过“http://site.com/”访问该站点并单击表单上的提交按钮,则没有问题。

但是,如果我通过“http://www.site.com/”访问该站点并单击表单上的提交按钮,则会向我抛出错误。

有人知道这是为什么吗?

谢谢。

【问题讨论】:

  • 我们需要form 标记和ajax 函数。
  • @Christopher 我无法发布标记和功能,因为它太长了
  • @MarkEriksson: jsfiddle.net

标签: jquery forms no-www


【解决方案1】:

这称为跨域限制。 AJAX 只会让您进入与您用于加载页面的域相同的域,很少有例外。可以使用 JSONP 进行隧道传输。

这是一项安全措施。想象一下,如果远程攻击者能够 AJAX 输出您的信息 - AJAX 调用非常容易放入!浏览器制造商将此作为安全措施添加,以防止信息泄露(这已经太常见了——XSS、CSRF 等)。

如果它们必须在本地调用,请考虑不要在脚本中对 URL 进行硬编码。

【讨论】:

    【解决方案2】:

    您很有可能无法使用 www 以任何方式访问该网站,因为网站所有者尚未设置 DNS 以使用 www 前缀。

    【讨论】:

    • OP 说 "However, if I access the site through 'http://www.site.com/' and click the submit button [...]" 所以 DNS 没有问题,初始页面使用 www 加载正常。
    猜你喜欢
    • 2010-11-20
    • 2013-08-16
    • 2015-11-15
    • 1970-01-01
    • 2011-07-24
    • 2015-01-09
    • 1970-01-01
    • 2015-10-15
    • 2023-01-05
    相关资源
    最近更新 更多