- JScript code
var saveClick = function(){ if($("#Name").val() == ''){ //alert('分类名称不能为空!'); //return; } //var arry = new Array(); //arry.push({FDLabelName:""+$('#Name').val()+"",FDLableDescript:""+$('#Remark').val()+""}); var str = ''; str = '{\"p1\":[{FDLabelName:"'+$('#Name').val()+'"",FDLableDescript:"'+$('#Remark').val()+'"}],"p2":['; $.each($("input:[type=checkbox]"),function(){ if(this.checked){ //arry.push({"FDFirstMenuID":this.name,"FDSecondMenuID":this.id}); str += '{FDFirstMenuID:'+this.name+',FDSecondMenuID:'+this.id+'},'; } }); str = str.substring(0,str.length-1) + ']}'; //var data = {'p1':[{FDLabelName:""+$('#Name').val()+"",FDLableDescript:""+$('#Remark').val()//+""}],'p2'[arry.toString()]}; var datas ={"p1":[{FDLabelName:"阿萨德",FDLableDescript:"对方"}],"p2":[{FDFirstMenuID:90,FDSecondMenuID:26},{FDFirstMenuID:90,FDSecondMenuID:27}]} $.ajax({ type:'POST', contentType:'application/json', url:'../WebsiteEmbeddingLabelService.asmx/SaveWebsiteEmbeddingLabel', dataType:'json', data:JSON.stringify(str)//JSON.stringify(arry.toString[color=#FF0000]())//为什么不能跳到服务里执行服务方法,而如果用datas替代str却可以,但都是json 格式[/color] }); }
后台web服务代码:
- C# code
[WebMethod] public void SaveWebsiteEmbeddingLabel(List<WebsiteEmbeddingLabelData> p1, List<WebsiteEmbeddingLabelIncludeSysMenusData> p2) { object p = p1; object pp = p2; }
我前台拼接字符串成json格式为什么不能到服务方法里,而如果我用红色字体部分却可以,请教高手,谢谢
------解决方案--------------------
两个json字符串 用变量拼接都就不行 ?