这是我关于stackoverflow的第一个问题.我只是想知道为什么我的getJSON代码不能与jQuery 1.4.2一起使用,但它与jQuery 1.3.2一起顺利运行
所以这是我的代码
$(document).ready(function(){ $('td.hps_ajax a').click(function() { id = this.id.replace(/.*hps_ajax/,''); if(confirm('Anda yakin mau menghapus record ini?')) $.getJSON('../admin/media_admin/ajaxHapus/'+id, remove_row); return false; }); }) function remove_row(data) { if(data.sukses == '1') { $('td.hps_ajax a#hps_ajax'+data.id).closest('tr').fadeOut('slow',function() { $(this).remove(); }); } else { alert('Gagal menghapus File.'); } }
getJSON链接是CodeIgniter应用程序链接.任何人都知道为什么这不再起作用了?
最可能的原因是,如果您的JSON不完全有效,现在在jQuery 1.4+中检查
来自文档:
jQuery 1.3及更早版本使用JavaScript的eval来评估传入的JSON.jQuery 1.4使用本机JSON解析器(如果可用).它还验证传入的JSON的有效性,因此jQuery在jQuery.getJSON中以及将"json"指定为Ajax请求的dataType时,将拒绝格式错误的JSON(例如{foo:"bar"}).
使用类似JSONLint的东西来验证/修复你的JSON,它应该开始工作一次有效.从'../admin/media_admin/ajaxHapus/'+id
JSONLint 获取响应并检查它,您也可以使用FireBug查看它,这很方便.