我正在尝试使用一些jQuery代码用于Ajax,它在Firefox或IE 8+版本中运行良好,但我也需要在IE 6中工作,我有这个代码用于切换和使用Ajax
$(document).ready(function () {
$("#S1").click(function
() {
$("#t1").toggle("fast");
$("#P1").toggle("fast");
$("#S1").css("background-color", "White");
var ID = $("#HiddenField1").attr("Value");
var params = new Object();
params.Key = ID;
var myJSONText = JSON.stringify(params);
$.ajax({
type: "POST",
url: "viewMessages.aspx/readen",
data: myJSONText,
contentType: "application/json",
dataType: "json",
});
});
});
当我尝试在IE6中运行这个时,它将无法工作,在调试器中我得到 第29行: 错误:预期的标识符,字符串或数字, (第29行将是我代码中Ajax函数的结尾)
我删除了一些代码以查看问题所在,所以我对此进行了分析:
$(document).ready(function () {
$("#S1").click(function
() {
$("#t1").toggle("fast");
$("#P1").toggle("fast");
$("#S1").css("background-color", "White");
var ID = $("#HiddenField1").attr("Value");
var params = new Object();
params.Key = ID;
var myJSONText = JSON.stringify(params);
});
});
这一个现在切换,但我得到了错误 Line21。 错误:JSON未识别,
你觉得问题出在哪里?如何在IE6中运行这样的代码? 我正在开发ASP.NET答案 0 :(得分:1)
删除数据类型后的额外逗号。
$.ajax({
type: "POST",
url: "viewMessages.aspx/readen",
data: myJSONText,
contentType: "application/json",
dataType: "json"//,
});
此外,您不需要对数据组件进行字符串化,也不需要声明新的Object。
它只能是data:{'KEY':ID},
要获得id,请使用:
$("#HiddenField1").val();