$ .get()无法在IE8或IE7中运行

时间:2012-04-26 14:03:35

标签: javascript jquery ajax internet-explorer get

注意:我只尝试过IE8和IE7(通过IE8开发人员工具),因为这些是我可用的唯一版本。

我正在使用Wordpress的ajax搜索插件,插件可以在这里找到:http://wordpress.org/extend/plugins/threewp-ajax-search/

它在firefox中运行得非常好,但IE显示出发出ajax请求然后令人费解的迹象。我已经将此范围缩小到IE,即使其他浏览器获得了大量结果,也使用$.get()alert(ThreeWP_Ajax_Search.total_results);函数收到0函数的结果。以下是处理ajax请求的插件部分:

$.get(url, function(data){
        ThreeWP_Ajax_Search.results = $('.hentry', data);

        // Remove extra elements if necessary
        ThreeWP_Ajax_Search.total_results = ThreeWP_Ajax_Search.results.length;
        alert(ThreeWP_Ajax_Search.total_results);
        if ( ThreeWP_Ajax_Search.results.length > ThreeWP_Ajax_Search.options.results_to_display )
        {
            ThreeWP_Ajax_Search.results = ThreeWP_Ajax_Search.results.slice( 0, ThreeWP_Ajax_Search.options.results_to_display );
        }

        if ( ThreeWP_Ajax_Search.results.length < 1 )
            ThreeWP_Ajax_Search.hide_results();

        ThreeWP_Ajax_Search.do_callback(callback);
    });

注意:url是标准的Wordpress搜索网址,由wordpress搜索引擎处理。我有一些搜索插件,但它们都是在服务器端执行的。

我也尝试将$.get()替换为$.ajax()并设置cache: false,但这无效。

有谁知道导致这个问题的原因是什么?

可以在以下位置找到实时示例:http://rcnhca.org.uk/sites/first_steps/(搜索“关注”会返回一些结果)

2 个答案:

答案 0 :(得分:2)

当浏览器是IE7或IE8时,似乎加载了一些条件JS。该文件名为“selectivizr-mis.js”,加载时返回404错误。

也许该网站的IE7和IE8功能依赖于此文件中的某些内容才能正常工作?

在任何一种情况下,该文件都应该正确加载。

答案 1 :(得分:1)

我认为问题是缺少IE7 / IE8中的CORS支持。也许这可能会有所帮助?

http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/