jQuery1.4 使用getJSON不成功(求助)
时间:2010-01-24
来源:互联网
jQuery1.4 使用getJSON不成功,同样的代码,在1.23和1.3版正常.
环境:asp.net 2.0/IE7/firefox
运行后像没有执行getJSON一样的,连$("#msg").html("服务器返回成功...");
都没执行.
各位帮助看看,谢谢.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>联动下拉菜单</title>
<script type="text/javascript" src="jquery-1.4.min.js"></script>
<script type="text/javascript">
$(function(){
$("#city").change(function(){
$.getJSON("14-13.aspx",{index:$(this).val()},function(myJSON){
//根据返回的JSON数据,创建<option>项
var myOptions='';
for(var i=0;i<myJSON.length;i++){
myOptions += '<option value="' + myJSON.optionValue + '">' + myJSON.optionDisplay + '</option>';
}
$("#area").html(myOptions); //在第2个下拉菜单中显示数据
$("#msg").html("服务器返回成功...");
});
});
$("#city").change(); //让页面第1次显示的时候也有数据
})
</script>
</head>
<body>
<select id="city">
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">天津</option>
</select>
<select id="area">
</select>
<div id="msg">
</div>
</body>
</html>
服务器代码文件14-13.aspx
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<%@ Import Namespace="System.Data" %>
<%
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma","no-cache");
string JSON_text = "";
switch (Request["index"])
{
case "1":
JSON_text = "[{optionValue:1,optionDisplay: '海淀区'},{optionValue:2,optionDisplay: '东城区'},{optionValue:3,optionDisplay: '朝阳区'}]";
break;
case "2":
JSON_text = "[{optionValue:1,optionDisplay: '黄浦区'},{optionValue:2,optionDisplay: '徐汇区'},{optionValue:3,optionDisplay: '静安区'},{optionValue:4,optionDisplay: '嘉定区'},{optionValue:5,optionDisplay: '松江区'}]";
break;
case "3":
JSON_text = "[{optionValue:1,optionDisplay: '和平区'}]";
break;
}
Response.Write(JSON_text);
%>
环境:asp.net 2.0/IE7/firefox
运行后像没有执行getJSON一样的,连$("#msg").html("服务器返回成功...");
都没执行.
各位帮助看看,谢谢.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>联动下拉菜单</title>
<script type="text/javascript" src="jquery-1.4.min.js"></script>
<script type="text/javascript">
$(function(){
$("#city").change(function(){
$.getJSON("14-13.aspx",{index:$(this).val()},function(myJSON){
//根据返回的JSON数据,创建<option>项
var myOptions='';
for(var i=0;i<myJSON.length;i++){
myOptions += '<option value="' + myJSON.optionValue + '">' + myJSON.optionDisplay + '</option>';
}
$("#area").html(myOptions); //在第2个下拉菜单中显示数据
$("#msg").html("服务器返回成功...");
});
});
$("#city").change(); //让页面第1次显示的时候也有数据
})
</script>
</head>
<body>
<select id="city">
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">天津</option>
</select>
<select id="area">
</select>
<div id="msg">
</div>
</body>
</html>
服务器代码文件14-13.aspx
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<%@ Import Namespace="System.Data" %>
<%
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma","no-cache");
string JSON_text = "";
switch (Request["index"])
{
case "1":
JSON_text = "[{optionValue:1,optionDisplay: '海淀区'},{optionValue:2,optionDisplay: '东城区'},{optionValue:3,optionDisplay: '朝阳区'}]";
break;
case "2":
JSON_text = "[{optionValue:1,optionDisplay: '黄浦区'},{optionValue:2,optionDisplay: '徐汇区'},{optionValue:3,optionDisplay: '静安区'},{optionValue:4,optionDisplay: '嘉定区'},{optionValue:5,optionDisplay: '松江区'}]";
break;
case "3":
JSON_text = "[{optionValue:1,optionDisplay: '和平区'}]";
break;
}
Response.Write(JSON_text);
%>
[ 此帖被lxyukiss在2010-01-24 19:10重新编辑 ]
作者: lxyukiss 发布时间: 2010-01-24
ContentType不是text/html,而是application/json
作者: keakon 发布时间: 2010-01-24
不是ContentType原因,修改成application/json 后问题依旧.
作者: lxyukiss 发布时间: 2010-01-25
1.4 对json的格式有了更严格的控制,如不在支持MS DATE 表示: /Date(@Tickets)/
而只支持"yyyy-MM-ddTHH:mm:ss SSSZ"
建议设置成datatype设置成txt执行转换成json对象
而只支持"yyyy-MM-ddTHH:mm:ss SSSZ"
建议设置成datatype设置成txt执行转换成json对象
作者: xuanye 发布时间: 2010-01-25
你的问题是json表示没加引号
{"optionValue":1,"optionDisplay": '海淀区'}
注意引号
{"optionValue":1,"optionDisplay": '海淀区'}
注意引号
作者: xuanye 发布时间: 2010-01-25
这个问题早上已经解决了,就如楼上所说.必须加双引号.
写成
JSON_text = "[{\"optionValue\":1,\"optionDisplay\": \"和平区\"},{\"optionValue\":2,\"optionDisplay\": \"南开区\"}]";
就没问题了.
还是要谢谢各楼
写成
JSON_text = "[{\"optionValue\":1,\"optionDisplay\": \"和平区\"},{\"optionValue\":2,\"optionDisplay\": \"南开区\"}]";
就没问题了.
还是要谢谢各楼
作者: lxyukiss 发布时间: 2010-01-25
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28