这是生成JSON的方法string json = "";
StringBuilder sb = new StringBuilder(json);
UserInfo ui = ub.GetUserBLL(uid);
string[] addlist = GetAddList(ui.Address);
sb.Append("{\"user\":{");
sb.Append("\"uname\":\""+ui.Username+"\",");
sb.Append("\"limit\":\"" + ui.Limit + "\",");
sb.Append("\"credits\":\"" + ui.Credits + "\",");
sb.Append("\"phone\":\"" + ui.Phone + "\",");
sb.Append("\"name\":\"" + ui.Realname + "\",");
sb.Append("\"add\":["); if (addlist.Length > 0)
{
for (int i = 0; i < addlist.Length - 1; i++)
{
sb.Append("\"" + addlist[i].Trim() + "\",");
}
}
sb.Append("\"" + addlist[addlist.Length-1].Trim() + "\"");
sb.Append("]");
sb.Append("}}");
return sb.ToString();这是生成的JSON
{"user":{"uname":"asdf","limit":"0","credits":"10","phone":"13850039614","name":"asdf","add":["asdf1","asdf2","asdf","asdf4","asdf5"]}}这是JQUERY的获取JSON的方法
function getUserJson() {
$.getJSON("ashx/GetUserInfo.ashx", function(u) {
try {
$("#login_c").hide(); $("#login_user").show(); $("#login_user").addClass("login_c"); $("#login_user").html("欢迎您:[" + u.user.uname + "] 当前积分:[" + u.user.credits + "]<span onclick=\"LoginOut()\">[退出]</span>"); $("#ordername").val(u.user.name); $("#orderphone").val(u.user.phone);
} catch (err) {
document.write(err);
}
});
}用上面这个方法,在IE下根本就不会执行getUserJson()这个方法,在FF3.X下完全正常改用下面这个方法
function getUser() {
$.ajax({
type: "POST",
url: "ashx/GetUserInfo.ashx",
dataType: "text",
success: function(back) {
if (back != null) {
var j = back.toString().replace("\r\n", "");
var u = eval("(" + j + ")");
$("#login_c").hide(); $("#login_user").show();
$("#login_user").html("<img src=\"../skin/default/loading.gif\" />");
$("#login_user").addClass("login_c");
$("#login_user").html("欢迎您:[" + u.user.uname + "] 当前积分:[" + u.user.credits + "]<span onclick=\"LoginOut()\">[退出]</span>");
$("#ordername").val(u.user.name);
$("#orderphone").val(u.user.phone);
}
}
});
}在IE浏览器中 var u = eval("(" + j + ")");这一句说是“语法错误。”
请问这是什么问题?
StringBuilder sb = new StringBuilder(json);
UserInfo ui = ub.GetUserBLL(uid);
string[] addlist = GetAddList(ui.Address);
sb.Append("{\"user\":{");
sb.Append("\"uname\":\""+ui.Username+"\",");
sb.Append("\"limit\":\"" + ui.Limit + "\",");
sb.Append("\"credits\":\"" + ui.Credits + "\",");
sb.Append("\"phone\":\"" + ui.Phone + "\",");
sb.Append("\"name\":\"" + ui.Realname + "\",");
sb.Append("\"add\":["); if (addlist.Length > 0)
{
for (int i = 0; i < addlist.Length - 1; i++)
{
sb.Append("\"" + addlist[i].Trim() + "\",");
}
}
sb.Append("\"" + addlist[addlist.Length-1].Trim() + "\"");
sb.Append("]");
sb.Append("}}");
return sb.ToString();这是生成的JSON
{"user":{"uname":"asdf","limit":"0","credits":"10","phone":"13850039614","name":"asdf","add":["asdf1","asdf2","asdf","asdf4","asdf5"]}}这是JQUERY的获取JSON的方法
function getUserJson() {
$.getJSON("ashx/GetUserInfo.ashx", function(u) {
try {
$("#login_c").hide(); $("#login_user").show(); $("#login_user").addClass("login_c"); $("#login_user").html("欢迎您:[" + u.user.uname + "] 当前积分:[" + u.user.credits + "]<span onclick=\"LoginOut()\">[退出]</span>"); $("#ordername").val(u.user.name); $("#orderphone").val(u.user.phone);
} catch (err) {
document.write(err);
}
});
}用上面这个方法,在IE下根本就不会执行getUserJson()这个方法,在FF3.X下完全正常改用下面这个方法
function getUser() {
$.ajax({
type: "POST",
url: "ashx/GetUserInfo.ashx",
dataType: "text",
success: function(back) {
if (back != null) {
var j = back.toString().replace("\r\n", "");
var u = eval("(" + j + ")");
$("#login_c").hide(); $("#login_user").show();
$("#login_user").html("<img src=\"../skin/default/loading.gif\" />");
$("#login_user").addClass("login_c");
$("#login_user").html("欢迎您:[" + u.user.uname + "] 当前积分:[" + u.user.credits + "]<span onclick=\"LoginOut()\">[退出]</span>");
$("#ordername").val(u.user.name);
$("#orderphone").val(u.user.phone);
}
}
});
}在IE浏览器中 var u = eval("(" + j + ")");这一句说是“语法错误。”
请问这是什么问题?
解决方案 »
- Extjs 如何得到grid中某一列的值
- JS作用域,和函数的问题
- ext
- 高分求解:如何通过代码设置jquery easyUI的menu菜单项为不可用?
- 如何在一个element里找到一个指定id的object
- 如何实现,页面上的一个input text对应的两个按钮,点击后分别进入不同的页面?
- 怎么得到select中所有option得值而不仅仅是选定得值?
- javascript 如何实现为字符串做XOR校验,并在字符末尾添加两字节的校验?(愿赠300分)
- ondrag事件
- 如何驗証日期類型?
- 如何显示Oracle网站的这个效果呢?
- 请问如何添加shift + click 添加两个以上的.selected?
var j = back.toString().replace("\r\n", "");
var u = eval("(" + j + ")");
alert(u.user.uname);
alert(u.user.credits);
alert(u.user.name);
alert(u.user.phone);调试下back的值,如果为{"user":{"uname":"asdf","limit":"0","credits":"10","phone":"13850039614","name":"asdf","add":["asdf1","asdf2","asdf","asdf4","asdf5"]}} 能正常运行在if (back != null)加debugger;进行调试
但是 getJson 怎么不行你?G了一下,发现也有人有这个问题