Javascript ajax和json.parse的问题
我正在尝试根据第一个下拉列表中的选择提供一个下拉列表(首先定义一个类别,第二个应该列出子类别)。 这是我的密码:Javascript ajax和json.parse的问题,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在尝试根据第一个下拉列表中的选择提供一个下拉列表(首先定义一个类别,第二个应该列出子类别)。 这是我的密码: <script type="text/javascript"> $(document).ready(function(){ $("#majCat").change(function(){ var selectCat = $(this).val()
<script type="text/javascript">
$(document).ready(function(){
$("#majCat").change(function(){
var selectCat = $(this).val()
alert("TU AS CHOISI " + selectCat);
$.ajax({
url: 'populate_SousCategorie pour Ajax.php',
method: 'post',
data: {Cat: selectCat},
success: function(SousCategorie){
alert("retour" + SousCategorie );
var SsCategorie = JSON.parse(SousCategorie);
alert (SsCategorie);
var taille = SsCategorie.length;
alert ( "taille 2 : " + taille );
var i = 0;
alert ( "id1 " + i );
for(i ; i < taille ; i++) {
alert ( "step " + i );
alert ( "id " + SsCategorie[i].SousCat_Nom);
}
}
})
})
})
</script>
$(文档).ready(函数(){
$(“#majCat”).change(函数(){
var selectCat=$(this.val()
警报(“TU AS CHOISI”+选择CAT);
$.ajax({
url:“populate_SousCategorie pour Ajax.php”,
方法:“post”,
数据:{Cat:selectCat},
成功:功能(SousCategorie){
警惕(“撤退”+SousCategorie);
var SsCategorie=JSON.parse(SousCategorie);
警报(SSC分类);
var taille=SsCategorie.length;
警报(“taille 2:+taille”);
var i=0;
警报(“id1”+i);
对于(i;i
我从外部调用中看到的返回显示如下:
{“SousCategorie”:[{“souscategorid”:“40”,“souscatnom”:“caronant”},{“SousCategorie”:“41”,“SousCategorie”:“Amendes”},{“souscategorid”:“42”,“souscatnom”:“entrieen”},{“sousCat Id”:“43”,“souscatnom”:“Assurances”},{“souscategorid”:“44”,“souscategnom”:“Achat”;“souscatu Id”;“73”}
JSON.parse之后的alert语句显示:
[对象]
但当我尝试定义对象的大小时,SsCategorie.length警报语句显示:
taille 2:未定义
而for循环不起作用
什么是错误的,什么是缺失的。对于调试,建议使用
控制台.log
语句。我假设您的对象中有嵌套对象,不能在警报中显示
不能在对象上使用长度方法。它是数组方法。根据您对嵌套对象的评论和进一步的搜索,我找到了解决方案。代码现在是
var SsCategorie = JSON.parse(SousCategorie);
var taille = SsCategorie.SousCategorie.length;
var i = 0;
$('#majSSCat').empty();
for(i ; i < taille ; i++) {
$('#majSSCat').append('<option>'+ SsCategorie.SousCategorie[i].SousCat_Nom
+'</option>') ;
}
var SsCategorie=JSON.parse(SousCategorie);
var taille=SsCategorie.SousCategorie.length;
var i=0;
$('#majscat').empty();
对于(i;i
删除JSON.parse()
调用。如果响应的MIME类型设置正确,则不需要它。