0

注意:我只尝试过 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 搜索 url,由 wordpress 搜索引擎处理。我有一些搜索插件,但它们都是在服务器端执行的。

我也尝试过替换$.get()$.ajax()设置cache: false,但是没有任何效果。

有谁知道可能导致此问题的原因是什么?

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

4

2 回答 2

2

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

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

无论哪种情况,该文件都应该正确加载。

于 2012-04-26T14:21:44.783 回答
1

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

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

于 2012-04-26T14:14:20.977 回答