我创建了一个jquery click事件来从xml文件中删除一些东西。代码如下:
$(".delete_engine").bind("click",function(){
var del = $(this);
var id = del.attr("id");
var c = confirm("You sure want to delete this?");
if(c)
{
/* $(this).next('.pclass').remove();
$(this).prev('.rurl').remove();
$(this).remove();*/
$.ajax({
type: "POST",
url: "http://localhost:8080/cPEP_UI/Engine_engine_delete",
data: "eid="+id,
dataType: "json",
success: function(data) {
$('#light').html("<img src='loading.gif' alt='loading gif'/>");
$('#light').css("display","block");
$('#fade').css("display","block");
if(data.update == "success"){
del.parent().next().remove();
del.parent().remove();
$('#light').html(data.message+" "+data.update);
}
},
error:function(xhr,err){
//alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
$('.error').html("responseText: "+xhr.responseText);
}
});
}
});
但事实是,它不使用谷歌浏览器,但与mozilla Firefox正常工作。关于为什么会发生这种情况的任何想法?!是因为缓存了吗??
答案 0 :(得分:1)
你的罪魁祸首可能就在这里。我会检查你回来的JSON,看看它是否会返回你期望给定ID的结果。
if(data.update == "success"){
del.parent().next().remove();
del.parent().remove();
$('#light').html(data.message+" "+data.update);
}
此外,您应该检查Javascript错误。当dataType设置为JSON时,jQuery的AJAX API对JSON字符串进行非常严格的验证。这可能是相当无情的。
答案 1 :(得分:0)
我在过去使用Chrome中的jQuery从JSON对象获取数据时遇到了问题。我的解决方案是确保正在解析的JSON是严格形成的。特别是,请确保所有键和值都用双引号括起来。
以下是在我正在处理的应用程序中工作的JSON对象的示例。
{“db”:{“count”:“4”, “记录” : { “124”:[“124”,“cooldood137”,“43.1922532075705,-76.2615720447455”], “345”:[“345”,“jillchill9”,“45.1922532075705,-78.2615720447455”], “987”:[“987”,“bobdabanka”,“43.4922532075705,-76.1615720447455”], “654”:[“654”,“foobarlounge”,“46.1922532075705,-79.2615720447455”], “674”:[“674”,“ohai!lolcat”,“56.1922532075705,-69.2615720447455”] } } }