【问题标题】:Why Won't My JavaScript / JSON Script Work In Internet Explorer?为什么我的 JavaScript / JSON 脚本无法在 Internet Explorer 中运行?
【发布时间】:2012-08-14 22:45:22
【问题描述】:

我有这个代码,它根据输入到我的联系表单中的邮政编码,用用户的城市和州预先填写我的网站。

它在 Google Chrome 和 Firefox 中运行完美,但在 IE 中无法运行。

有谁知道为什么,如果知道,你能帮我修一下代码吗?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<!--Realtime City/State Update From Zip Code Post-in-->
<script>
    $(document).ready(function () {
        var zip = $("#zip").val();
        $.getJSON('http://zip.elevenbasetwo.com/v2/US/' + zip, function (json) {
            $('#city').val(json.city);
        });
        $.getJSON('http://zip.elevenbasetwo.com?zip=' + zip, function (json) {
            $('#state').val(json.state);
        });
    });
</script>
<!--On Edit/Keyup City/State Update-->
<script>
    $(document).on("keyup", "#zip", function () {
        var zip = this.value;
        $.getJSON('http://zip.elevenbasetwo.com/v2/US/' + zip, function (json) {
            $('#city').val(json.city);
        });
        $.getJSON('http://zip.elevenbasetwo.com?zip=' + zip, function (json) {
            $('#state').val(json.state);
        });
    });
</script>

编辑
我所说的not working 的意思是,在 Google Chrome 和 Firefox 上,我的联系表单中的城市和州字段将根据输入的邮政编码自动预先填写。

但是在 IE(我的版本 9)中,City & State 字段并没有像应有的那样预先填充。

【问题讨论】:

  • 您能否详细说明“它不起作用”的意思?有任何错误信息吗?
  • 否认您不想被告知为什么它不起作用并不会让任何人想要帮助您。如果您对学习不感兴趣,如果我们提供帮助,我们将看到更多这样的问题。请记住,停止成为新手的方法是弄清楚事情。
  • 我从未说过我不想学习,我只是想要解决方案,以便从中学习。告诉我一个复杂的修复对我没有帮助。
  • 你的IE版本是多少?你的 IE 中启用了 JavaScript 吗?

标签: javascript html json internet-explorer


【解决方案1】:

更新

json 没有任何问题。 这是 IE 的跨域请求问题。

使用 jQuery 的一般解决方案是在代码顶部添加 jQuery.support.cors = true;。但这可能行不通。

IE8+有window.XDomainRequest,可以跨域请求。

这是一个 jQuery 插件,但我不知道如何使它工作。

ajaxHooks xdr

或者,您可以从服务器上的代理或使用闪存获取信息。

更多信息

【讨论】:

  • 您在哪里看到无效的 JSON?例如:zip.elevenbasetwo.com/v2/US/31415
  • 感谢您的代码,但我尝试了您给我的代码,但它也无法在 IE V9 上运行...还有其他人知道这个问题吗?
  • @Dr.Molle 更新了我的答案。你是对的。 json没有错。
  • jQuery.support.cors = true;不管用。我也试过 $.support.cors = true;这也不起作用。
猜你喜欢
  • 2016-06-12
  • 2023-03-31
  • 2017-04-15
  • 2020-04-28
  • 2017-02-03
  • 1970-01-01
  • 1970-01-01
  • 2011-03-23
  • 2011-09-30
相关资源
最近更新 更多