jQuery $ .getJSON不在IE中发送请求(适用于FF和Chrome)

时间:2012-03-30 16:07:41

标签: jquery internet-explorer internet-explorer-9 getjson

我在IE9的调试模式下。我在第一行(下面)放了一个断点,然后命中。但是,我在回调中第一行的断点永远不会被击中。

查看网络标签后,我看不到对该网址的请求(设置为"http://localhost/PopNote/")。

$.getJSON(
            URL + "messages/getUnreadMessages.json?" + Math.random(), // add random to prevent IE cache
            {
                productKey      : this.productKey,
                listIds         : this.listIds,
                personEmail     : this.personEmail
            },
            function(data) {    
                if(data.messages.length == 0) return;

为什么没有发送请求(仅在IE中)?

谢谢!

1 个答案:

答案 0 :(得分:4)

圣洁的鳄梨!这是一些错误!以下是我修复它的方法:

  1. 在我的脚本开头添加了jQuery.support.cors = true;
  2. 在我的crossDomain: true选项
  3. 中添加了dataType: 'jsonp'$.ajax
  4. 将我的JSON代码转换为JSONP格式,如:

    $_GET['callback'] . '(' . json_encode($data) . ');'

  5. VOILA!我今天调试过的最难的错误。