我在javascript中遇到了JSON的麻烦。我有一个代码,我一直使用JSON.stringify,从来没有遇到过问题。但是当我输入我的应用程序时,我无法使用它。它让我在控制台(谷歌浏览器)中返回以下内容:
未捕获TypeError:undefined不是函数lista.js:188
绝对是stringify函数所在的行。
你们中有谁知道解决这个问题的方法吗?它就像找不到JSON单元那样。或者也许是一种解决方法......我将在下面发布我的代码:
提前致谢!
在我的index.php中我有一个标题:
<script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
//这是函数的代码。
function Salvar(AIdProcesso){
var Respostas = new Array ();
var Registro = 1;
$('.chkResposta').each(function(){
var chk = $(this);
var IdTitulo = chk.attr("idTitulo");
var Valor = chk.isChecked() ? 'true' : 'false';
var Item = [IdTitulo, Valor];
Respostas[Registro] = Item;
Registro = Registro+1;
});
$('.edtValor').each(function(){
var edt = $(this);
var IdTitulo = edt.attr("idTitulo");
var Valor = edt.val();
var Item = [IdTitulo, Valor];
Respostas[Registro] = Item;
Registro = Registro+1;
});
//this is where I get the error!!
var JsonString = JSON.stringify(Respostas, function(){}, 2);
$.post(
'processos/lista.php', {
Op: 'Inscricao',
Id: AIdProcesso,
Itens: JsonString
}, function(rHtml){
JSON = jQuery.parseJSON(rHtml);
$('.breadcrumb').html(JSON.breadcrumb);
$('.Box').html(JSON.box);
});
}
答案 0 :(得分:0)
在这一行
var JsonString = JSON.stringify(Respostas, function(){}, 2);
你传递的替换函数并没有返回任何内容。传递给stringify
的替换函数预计会返回一些东西。有关详细信息,请参阅the specification。
附注:您在页面中包含json2.js,但请注意all modern browsers以及IE8本身支持JSON。除非您需要支持IE7及更早版本,或者其他供应商的旧浏览器,否则您不再需要该脚本了。