注意:我只尝试过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/(搜索“关注”会返回一些结果)
答案 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/