Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery中json传递的eval数据_Javascript_Jquery_Json - Fatal编程技术网

Javascript jquery中json传递的eval数据

Javascript jquery中json传递的eval数据,javascript,jquery,json,Javascript,Jquery,Json,我尝试在jquery中传递json数据 更新 使用序列化对象 [WebMethod] public static string select() { SMSEntities d = new SMSEntities(); List<string> name = new List<string>(); //string data1 = "[";

我尝试在jquery中传递json数据

更新

使用序列化对象

[WebMethod]
        public static string select()
        {
            SMSEntities d = new SMSEntities();



             List<string> name = new List<string>();

            //string data1 = "[";

            var mdata = new SMSEntities().selectdata()
            .Select(s => new { s.name }).ToArray().Distinct();

            //foreach (var c in mdata)
            //{

            //    data1 += "'" + c.name + "',";
            //    name.Add(c.name);
            //    // res += c.month;
            //}

            //data1 = data1.Substring(0, data1.Length - 1);
            //data1 += "]";


            var score = new SMSEntities().selectdata().Select(s => new { s.name, s.Salary });


            // data2 = "[";
            //foreach (var b in score)
            //{
            //    data2 += "{name:'" + b.name + "',data:[" + b.Salary + "]},";
            //}


            //data2 = data2.Substring(0, data2.Length - 1);
            //data2 += "]";

            var json1 = new JavaScriptSerializer().Serialize(mdata);
           var json2 = new JavaScriptSerializer().Serialize(score);
           var result = new { data = json1, data2 = json2 };
          return Newtonsoft.Json.JsonConvert.SerializeObject(result);
}
然后像这样得分

[{"name":"abc_name","Salary":"34000"},{"name":"xyz_name","Salary":"23000"},{"name":"def_name","Salary":"1000"},{"name":"ght_name","Salary":"45000"},{"name":"lmn_name","Salary":"34000"},{"name":"hh_name","Salary":"33000"}]
和不带eval的jquery

<script type="text/javascript">
        $(function () {
            $.ajax({
                type: "POST",
                url: "WebForm1.aspx/select",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: true,

                success: function (result) {


                    var data1 = result.d.split('*')[0];
                    //console.log(JSON.stringify(data1));
                    console.log(data1);
                    alert(data1);

                    var data2 = result.d.split("*")[1];
                    //console.log(JSON.stringify(data2));
                    console.log(data2);

                    alert(data2);


                    var od = JSON.stringify(result);
                    debugger;
                    alert("1");
                    var obj = JSON.parse(od);
                    debugger;
                    alert(od);
                    // alert(obj);



                    Highcharts.chart('container', {
                        chart: {
                            type: 'column'
                        },
                        title: {
                            text: 'Monthly Average Rainfall'
                        },
                        subtitle: {
                            text: 'Source: WorldClimate.com'
                        },
                        xAxis: {
                            categories:data1,
                            //categories: [
                            //    'Jan',
                            //    'Feb',
                            //    'Mar',
                            //    'Apr',
                            //    'May',
                            //    'Jun',
                            //    'Jul',
                            //    'Aug',
                            //    'Sep',
                            //    'Oct',
                            //    'Nov',
                            //    'Dec'
                            //],
                            crosshair: true
                        },
                        yAxis: {
                            min: 0,
                            title: {
                                text: 'Rainfall (mm)'
                            }
                        },
                        tooltip: {
                            headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
                            pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                                '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
                            footerFormat: '</table>',
                            shared: true,
                            useHTML: true
                        },
                        plotOptions: {
                            column: {
                                pointPadding: 0.2,
                                borderWidth: 0
                            }
                        },

                        //series: [{
                        //    name: 'Tokyo',
                        //    data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]

                        //}, {
                        //    name: 'New York',
                        //    data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]

                        //}, {
                        //    name: 'London',
                        //    data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]

                        //}, {
                        //    name: 'Berlin',
                        //    data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]

                        //}]
                        //series: [{

                        //    data: eval(data2)
                        //}]
                        series: data2,
                    });

                },
                error: function (error) {
                    alert(error);
                }
            });
        });


    </script>

$(函数(){
$.ajax({
类型:“POST”,
url:“WebForm1.aspx/select”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
async:true,
成功:功能(结果){
var data1=result.d.split('*')[0];
//log(JSON.stringify(data1));
console.log(data1);
警报(数据1);
var data2=结果d.split(“*”[1];
//log(JSON.stringify(data2));
console.log(data2);
警报(数据2);
var od=JSON.stringify(结果);
调试器;
警报(“1”);
var obj=JSON.parse(od);
调试器;
警报(od);
//警报(obj);
Highcharts.chart('容器'{
图表:{
类型:“列”
},
标题:{
文字:“月平均降雨量”
},
副标题:{
文本:'来源:WorldClimate.com'
},
xAxis:{
类别:数据1,
//类别:[
//“一月”,
//二月,,
//“三月”,
//“四月”,
//“五月”,
//"六月",,
//七月,,
//"八月",,
//"九月",,
//“十月”,
//十一月,,
//“十二月”
//],
十字准星:对
},
亚克斯:{
分:0,,
标题:{
文字:“降雨量(毫米)”
}
},
工具提示:{
headerFormat:“{point.key}”,
pointFormat:“{series.name}:”+
“{point.y:.1f}mm”,
页脚格式:“”,
分享:是的,
useHTML:true
},
打印选项:{
专栏:{
点填充:0.2,
边框宽度:0
}
},
//系列:[{
//名称:"东京",,
//数据:[49.9,71.5,106.4129.2,144.0176.0,135.6148.51216.4194.1,95.6,54.4]
//}, {
//名称:'纽约',
//数据:[83.6,78.8,98.5,93.4,106.0,84.5,105.0,104.3,91.2,83.5,106.6,92.3]
//}, {
//名称:“伦敦”,
//数据:[48.9,38.8,39.3,41.4,47.0,48.3,59.0,59.6,52.4,65.2,59.3,51.2]
//}, {
//名称:“柏林”,
//数据:[42.4,33.2,34.5,39.7,52.6,75.5,57.4,60.4,47.6,39.1,46.8,51.1]
//}]
//系列:[{
//数据:评估(数据2)
//}]
系列:数据2,
});
},
错误:函数(错误){
警报(错误);
}
});
});

现在,当我在highchart not display中使用序列化对象数据时。。根据有效的json,返回的序列也是正确的。。如果您想在jquery中传递数据,那么当我选中F12时也没有错误,所以您的javascript代码应该如下所示-

     $(function () {
                 $.ajax({
                     type: "GET", // This Should be GET instead of POST
                     url: "WebForm1.aspx/select",                   
                     contentType: "application/json; charset=utf-8",
                     dataType: "json",
                     async: true,
                     success: function (result) {
                         var data1 = result.data1;
                         var data2 = result.data2;
                         .......
                 });
}
             });
[WebMethod]
public static string select() {
    SMSEntities d = new SMSEntities();
    List < string > name = new List < string > ();
    string data1 = "[";

    var mdata = new SMSEntities().selectdata()
        .Select(s => new {
            s.name
        }).ToArray().Distinct();
    foreach(var c in mdata) {

        data1 += '{"name" : "' + c.name + '"},';
        name.Add(c.name);
    }
    data1 = data1.Substring(0, data1.Length - 1);
    data1 += "]";

    var score = new SMSEntities().selectdata().Select(s => new {
        s.name, s.Salary
    });
    string data2 = "[";
    foreach(var b in score) {
        data2 += '{"name": "' + b.name + '" , "data" :[' + b.Salary + ']},';
    }
    data2 = data2.Substring(0, data2.Length - 1);
    data2 += "]";

    return '{"data1": '+ data1 + ',"data2":' + data2 + '}';
}
你的代码应该是这样的-

     $(function () {
                 $.ajax({
                     type: "GET", // This Should be GET instead of POST
                     url: "WebForm1.aspx/select",                   
                     contentType: "application/json; charset=utf-8",
                     dataType: "json",
                     async: true,
                     success: function (result) {
                         var data1 = result.data1;
                         var data2 = result.data2;
                         .......
                 });
}
             });
[WebMethod]
public static string select() {
    SMSEntities d = new SMSEntities();
    List < string > name = new List < string > ();
    string data1 = "[";

    var mdata = new SMSEntities().selectdata()
        .Select(s => new {
            s.name
        }).ToArray().Distinct();
    foreach(var c in mdata) {

        data1 += '{"name" : "' + c.name + '"},';
        name.Add(c.name);
    }
    data1 = data1.Substring(0, data1.Length - 1);
    data1 += "]";

    var score = new SMSEntities().selectdata().Select(s => new {
        s.name, s.Salary
    });
    string data2 = "[";
    foreach(var b in score) {
        data2 += '{"name": "' + b.name + '" , "data" :[' + b.Salary + ']},';
    }
    data2 = data2.Substring(0, data2.Length - 1);
    data2 += "]";

    return '{"data1": '+ data1 + ',"data2":' + data2 + '}';
}
[WebMethod]
公共静态字符串select(){
SMsenties d=新的SMsenties();
Listname=新列表();
字符串data1=“[”;
var mdata=new smsenties().selectdata()
。选择(s=>new{
s、 名字
}).ToArray().Distinct();
foreach(mdata中的var c){
data1+='{“name”:“'+c.name+''“}';
名称。添加(c.名称);
}
data1=data1.Substring(0,data1.Length-1);
数据1+=“]”;
var score=new smsenties().selectdata().Select(s=>new{
s、 姓名,s.薪水
});
字符串数据2=“[”;
foreach(分数中的var b){
数据2+='{“名称”:“+b.name+”,“数据”:['+b.Salary+']}”;
}
data2=data2.Substring(0,data2.Length-1);
数据2+=“]”;
返回“{”data1:“+data1+”,“data2:“+data2+”}”;
}

在ajax成功函数中,结果将为您提供json数据。

如果您想在jquery中传递数据,那么您的javascript代码应该如下所示-

     $(function () {
                 $.ajax({
                     type: "GET", // This Should be GET instead of POST
                     url: "WebForm1.aspx/select",                   
                     contentType: "application/json; charset=utf-8",
                     dataType: "json",
                     async: true,
                     success: function (result) {
                         var data1 = result.data1;
                         var data2 = result.data2;
                         .......
                 });
}
             });
[WebMethod]
public static string select() {
    SMSEntities d = new SMSEntities();
    List < string > name = new List < string > ();
    string data1 = "[";

    var mdata = new SMSEntities().selectdata()
        .Select(s => new {
            s.name
        }).ToArray().Distinct();
    foreach(var c in mdata) {

        data1 += '{"name" : "' + c.name + '"},';
        name.Add(c.name);
    }
    data1 = data1.Substring(0, data1.Length - 1);
    data1 += "]";

    var score = new SMSEntities().selectdata().Select(s => new {
        s.name, s.Salary
    });
    string data2 = "[";
    foreach(var b in score) {
        data2 += '{"name": "' + b.name + '" , "data" :[' + b.Salary + ']},';
    }
    data2 = data2.Substring(0, data2.Length - 1);
    data2 += "]";

    return '{"data1": '+ data1 + ',"data2":' + data2 + '}';
}
你的代码应该是这样的-

     $(function () {
                 $.ajax({
                     type: "GET", // This Should be GET instead of POST
                     url: "WebForm1.aspx/select",                   
                     contentType: "application/json; charset=utf-8",
                     dataType: "json",
                     async: true,
                     success: function (result) {
                         var data1 = result.data1;
                         var data2 = result.data2;
                         .......
                 });
}
             });
[WebMethod]
public static string select() {
    SMSEntities d = new SMSEntities();
    List < string > name = new List < string > ();
    string data1 = "[";

    var mdata = new SMSEntities().selectdata()
        .Select(s => new {
            s.name
        }).ToArray().Distinct();
    foreach(var c in mdata) {

        data1 += '{"name" : "' + c.name + '"},';
        name.Add(c.name);
    }
    data1 = data1.Substring(0, data1.Length - 1);
    data1 += "]";

    var score = new SMSEntities().selectdata().Select(s => new {
        s.name, s.Salary
    });
    string data2 = "[";
    foreach(var b in score) {
        data2 += '{"name": "' + b.name + '" , "data" :[' + b.Salary + ']},';
    }
    data2 = data2.Substring(0, data2.Length - 1);
    data2 += "]";

    return '{"data1": '+ data1 + ',"data2":' + data2 + '}';
}
[WebMethod]
公共静态字符串select(){
SMsenties d=新的SMsenties();
Listname=新列表();
字符串data1=“[”;
var mdata=new smsenties().selectdata()
。选择(s=>new{
s、 名字
}).ToArray().Distinct();
foreach(mdata中的var c){
data1+='{“name”:“'+c.name+''“}';
名称。添加(c.名称);
}
data1=data1.Substring(0,data1.Length-