为什么这个简单的 jQuery getJSON 不能在 IE8 中工作?

2023-12-05

我有一个非常标准的 AJAX 请求:

$.getJSON('/products/findmatching/38647.json', {}, function(JsonData){
  var tableHtml = '';
  var x;

  for (x in JsonData.matchingProds) {
    var matchingProd = JsonData.matchingProds[x];
    var buyMessage;

    if ( x == 0 ) {
      buyMessage = 'Buy Cheapest';
    }
    else {
      buyMessage = 'Buy from this shop';
    }

    tableHtml = tableHtml + '<tr><td><img height="40" src="' + matchingProd.img_url + '" alt="' + matchingProd.name + '" /></td> \
      <td><a href="' + matchingProd._page_url + '">' + matchingProd.name + '</a></td> \
      <td><a href="' + matchingProd._merchant._url + '">' + matchingProd._merchant.title + '</td> \
      <td align="right">&pound;' + matchingProd.price + '</td> \
      <td><a href="' + matchingProd.referral_url + '">' + buyMessage + '</a></td></tr>';
  }

  $('#matchingproducts tbody').html(tableHtml);

  $('#loading').delay(1000).fadeOut();
});

除了 IE 之外,它在所有浏览器中都可以正常工作。我不再用 IE 做太多事情,因为我有 Mac,但我在 XP 虚拟机上有 IE8。使用其内置的调试工具并没有真正帮助(它们不是很好)。我唯一能理解的是,在某些时候我收到“预期标识符”错误。

这可能是在返回的 JSON 数据中吗?我如何从 IE 的角度检查这些数据?


好吧,我想通了。有人建议尝试非缩小版本的 jQuery。我这样做并单步调试了 IE8s Javascript 调试器。在某个时刻,出现了以下错误:

Could not complete the operation due to error c00ce56e.

谷歌搜索了一下发现这是我为 JSON 数据设置的字符集声明。在 PHP 中,这是通过以下方式完成的:

header ( 'Content-Type: text/javascript; charset=utf8' );

事实证明,IE对于字符集引用非常讲究(http://forums.asp.net/t/1345268.aspx#2732852),所以我将其更改为:

header ( 'Content-Type: text/javascript; charset=UTF-8' );

嘿,快点,它就像一个魅力。感谢你们的帮助,你们再次为我指明了正确的方向!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这个简单的 jQuery getJSON 不能在 IE8 中工作? 的相关文章

  • 如何在使用 ajax 和 JQuery 时加密发布数据?

    服务器端我们可以对用户进行身份验证 但我希望 ajax 或 JQuery 发送数据时数据安全 就像在客户端一样 某人只能看到加密格式的任何调用的参数 那么我该怎么做呢 我在这个网站上看到过这个场景 EDIT 当数据来自服务器时 我们可以忽略
  • 如何处理 AJAX 请求中的会话超时

    我相信你们都熟悉使用 AJAX 的投票系统 嗯 看那边 我有类似的东西 当你投票赞成或反对时 它使用 AJAX 从 votes php 请求新值 问题是我正在使用会话来获取用户 ID 因此一个人只能投票一次 如果他们在页面上坐了一个小时然后
  • 通过 jQuery 选择动态 HTML 元素

    我正在构建一个 ASP NET MVC 应用程序 并且正在使用jQuery Blueimp https github com blueimp jQuery File Upload动态添加到页面的 PartialView 上的插件 根据插件的
  • jquery中如何使用load函数发送数据

    我想用 jquery load 函数发送字符串数据 但它没有发送 我的代码是 function dialog data function alert data var ph Org1 ph empty ph load FrontEnd Do
  • 自定义 jQuery 验证 .addMethod

    我有一个表单 可以根据最小 最大长度验证邮政编码 我需要将所有国家 地区的邮政编码最小设置为 5 位数字 澳大利亚除外 澳大利亚需要为 4 位数字 这是我遇到的问题 validator addMethod AusZip function v
  • JQuery datepickers-从开始日期设置结束日期

    使用了两个 Jquery 日期选择器 StartDate 和 EndDate
  • .live() 或 .livequery()

    我有一个Ajaxed的网站 Ajax的内容来自其他页面 例如about html contact html ajax 从名为 main content 的 div 获取内容 但是在 ajax 调用之后 我的其余脚本就中断了 比如tinysc
  • jquery 插件“uploadify”-从上传脚本返回响应的方法?

    我的标题代码 document ready function sampleFile uploadify uploader include uploadify uploadify swf script add list php scriptD
  • 使用 JQuery 禁用和启用所有超链接

    我有以下禁用所有超链接的内容 但在事件发生后我想再次启用它们 我该如何执行此操作 a click function return false 我认为这不仅仅是将其设置为 true 那么简单 谢谢大家 不要以这种方式绑定 点击 处理程序 而是
  • 与 IE8 兼容的最新 jQuery 版本是什么?

    我正在开发 Bootstrap 3 网站 并且我使用的 jQuery 版本 1 9 1 遇到了一些问题 我升级到 2 1 0 我的问题消失了 但是 这破坏了 IE8 兼容性 因为 2 1 0 不再支持 IE8 并且 jQuery 在该浏览器
  • 如何动态调整jqgrid到当前窗口大小?

    如何动态调整jqgrid到当前窗口大小 基于javascript jQuery 最好的例子在这里 TinyMCE 去 http www tinymce com tryit full php http www tinymce com tryi
  • Rails 3:如何让用户在表单中至少选择一个复选框?

    我有一个表单 用户在提交表单之前必须选中至少一个复选框 有没有任何插件可以处理这个问题或者jquery可以应用于我的表单 不幸的是我完全是一个 jquery 菜鸟 上面的所有答案都显示了如何在客户端执行此操作 这确实可能更好 正如您的问题标
  • 是否可以使用 jQuery .on 和悬停?

    我有一个 ul 在初始页面加载后用 javascript 填充 我目前正在使用 bind with mouseover and mouseout 该项目刚刚更新到 jQuery 1 7 所以我可以选择使用 on 但我似乎无法让它工作hove
  • jQuery 变量在定义时声称它是未定义的

    我试图在同一页面上有两个自动填充文本框 一个用于手机型号 input1 一个用于固件 input2 当两者都填充时 我希望显示一个带有ID input1input2 的div 但是当在input1 中输入值时 它声称phone 的变量未定义
  • HTML 下拉菜单禁用 Javascript 中的选项

    Question 下面的代码是隐藏所选项目下拉列表中的选项 因此 当用户选择该选项时 它将隐藏所有下拉选择列表中的所选值 我现在有四个下拉选择 我想实现像当下拉选择被触发时它将启用当前选择的选项值 意味着用户能够在用户触发时选择回下拉选择中
  • Setinterval随着指数时间减少

    我有一个带有 setinterval 的 mousedown 事件 我希望间隔时间是可变的 所以第一个是 500 第二个是 500 2 250 等等 有什么建议吗 plus mousedown function e increment 20
  • 是否可以将对象从 jquery 发布到 Bottle.py?

    这是jquery ajax type POST url posthere dataType json data myDict 1 1 2 2 success function data do code 这是蟒蛇 route posthere
  • 在多个动态添加的表单上初始化 jQuery validate() 函数

    有人建议最好初始化一个 form validate 在页面加载而不是点击事件上运行 jquery form validate 插件仅允许在输入更改时提交 https stackoverflow com questions 10984196
  • 发送 POST 请求时 JSON 原语无效

    我有以下 ajax 请求 其中我尝试将 JSON 对象发送到服务器 function sendData subscriptionJson ajax type POST url Url Action SubscribeSecurities S
  • 使用 AJAX 和 JQuery 按设定的时间间隔刷新 Rails 部分

    I have a page in my rails application that looks like 现在 我有另一个用 python 编码的人工智能应用程序 它处理视频 显示在 Rails 应用程序页面的左侧 并使用捕获的车辆及其相

随机推荐