IE8 & 9 - no jquery ajax response object
IE8 & 9 - no jquery ajax response object
jquery version: http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
$.ajax({
url: CI_ROOT + current_page + '/get_results' ,
type: 'post',
data: { 'primary_key': primary_key, 'search_category':search_category, 'sub_category': sub_category ,'search_page':search_page, 'search_order': search_order, 'project_type': project_type},
beforeSend: function(){
$('.browse-list').html(spinner);
$('.page-number-nav').html('');
},
success: function(r){
var response_obj = jQuery.parseJSON(r.responseText);
$('.browse-list').html('');
if (response_obj.status == 'SUCCESS')
{
$('#sort_menu').hide();
$('#sort_type').hide();
if ((response_obj.results != 'No results') && (search_category != 'group') && (search_category == 'title' || (primary_key > 0)))
{
$('#sort_menu').show();
$('#sort_type').show();
}
$('.browse-list').html(response_obj.results);
$('.page-number-nav').html(response_obj.pagination);
}
}
});
if (r.responseText == undefined){alert('Empty');} 为 IE 8 和 9 返回 Empty,但适用于 IE10 和所有其他浏览器
我已经阅读并尝试了这里我能找到的可能相关的每篇帖子,无法理解为什么这只对这两个浏览器造成轰炸,以及要检查什么
啪!
试着给你一个像这样的 ajax 调用dataType
:
dataType: 'json'
因此,它知道您期望哪种数据。您还应该从服务器返回响应标头中的content type
作为application/json
- 您的json_encode
方法只是将您的对象转换为 JSON,但显然没有应用正确的标头(ref php.net)
您需要添加:
header('Content-Type: application/json;charset=utf-8');
显式声明dataType
后,不需要任何jQuery.ParseJSON
,因为它会在调用success
处理程序之前对其进行转换,因此参数r
将是您所期望的JSON:)
也只是注意(正如 OP 发现的那样),header
函数调用需要在json_encode
调用之前
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 将curl查询转换为jQuery.ajax()
- jQuery AJAX write to XML
- jQuery Ajax GET请求工作不正常
- jquery ajax https调用给出ERR_INSECURE_RESPONSE
- VB NET JQUERY AJAX上出现错误500
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- Jquery/Ajax.serialize()未完全工作
- 页面加载之前的jQuery Ajax加载程序
- jquery/ajax无限滚动事件
- 使用Jquery$.ajax将json数据传递给servlet(doPost)
- 如何将给定的curl命令复制为jquery ajax请求
- 使用 JQUERY AJAX (Spring MVC) 从控制器中删除
- Twitter API在jQuery AJAX中设置授权头
- AngularJS JQuery Ajax表单提交等效
- jQuery Ajax.ajaxSuccess()事件未激发
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- jQuery AJAX总是出错
- jQuery Ajax数组序列化错误
- jQuery AJAX获取Vimeo缩略图