JQUERY调用
<script type="text/javascript">
var message = null;
var script = null;
var teachers = null;
function saveTeacher() {
$.ajax({
url: "../Handlers/TeacherHandler.ashx",
type: "POST",
data: $("#form1").serializeArray(),
dataType: "JSON",
//data应该是三部分数据
//message:是否保存成功;script:关闭子页面的脚本;teachers:得到的教师列表
complete: function (data) {
debugger;
message = data.message;
script = data.script;
teachers = data.teachers;
},
success: function (data) {
debugger;
alert(message);
script;
},
error: function (data) {
debugger;
alert(message);
script;
}
})
}
</script>
---------------------------------------
我debugger查看data
发现data.responseText的值如下:
{message:"用户名已存在!",script:"<script type='text/javascript'>parentDialog.close();
</script>",data:"<ul class='teachList clearfix'><li>
<input type='radio' name='teachers' value='92CC185B-5682-49BD-A520-0352F9235F54' />test</li>
<li><input type='radio' name='teachers' value='CCC83629-FE07-4571-BC2B-5583E1804976' />test1</li>
<li><input type='radio' name='teachers' value='教师编号10' />教师10</li><li>
<input type='radio' name='teachers' value='教师编号2' />教师2</li><li><input type='radio' name='teachers' value='教师编号3' />
教师3</li><li><input type='radio' name='teachers' value='教师编号4' />教师4</li><li><input type='radio' name='teachers' value='教师编号5' />
教师5</li><li><input type='radio' name='teachers' value='教师编号6' />教师6</li><li><input type='radio' name='teachers' value='教师编号7' />
教师7</li><li><input type='radio' name='teachers' value='教师编号8' />教师8</li><li><input type='radio' name='teachers' value='教师编号9' />
教师9</li></ul>"}
但是如果用data.message,data.script,data.teachers都无法得到。求帮助。
在 complete: function (data) { 下面加一句:
data=eval(data);
试试
谢谢您,不行唉~~,我以前没用过JSON,我这个写法对吗?
{"name":"aaa","Age":"123"}我看网上都是这样的写法,对吗?
@安静生活: 关键是JSON格式和JSON格式的字符串的区别,另外数字型的可以不加双引号,你可以看看这篇文章:浅入浅出JS中的eval及json