我知道有几个关于这个帖子,但我认为我失去了一些东西。我在ajax调用中返回下面的数据,但它似乎没有适用于FLOT的格式。是否有更好的格式来返回数据或更改FLOT以识别它? TIA将Ajax数据转换为正确格式的FLOT图表?
<script type="text/javascript">
$(document).ready(function() {
// Add the page method call as an onclick handler for the div.
$("#Result").click(function() {
$.ajax({
type: "POST",
url: "WebTest.aspx/GetData",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Replace the div's content with the page method's return.
var jsObj = []
jsObj.push($.parseJSON(msg.d));
$.plot($("#Result"), jsObj, {
grid: {
backgroundColor: "#E5E5E5",
mouseActiveRadius: 20
}
}
);
}
});
});
});
</script>
[WebMethod]
public static string GetData()
{
DataLines dataLine1 = new DataLines();
DataLines dataLine2 = new DataLines();
int[] lineA_Point1 = new int[] { 4, 6 };
int[] lineA_Point2 = new int[] { 2, 10};
List<int[]> dataA = new List<int[]>();
dataA.Add(lineA_Point1);
dataA.Add(lineA_Point2);
dataLine1.data = dataA;
dataLine1.label = "DataLine1";
JavaScriptSerializer js = new JavaScriptSerializer();
string Line1 = js.Serialize(dataLine1);
return Line1;
}
在您的例子是msg.d。应该是d?如果是这样,d应该是一个javascript数组,而不是一个看起来像一个javascript数组的字符串。 – Mark
我在这里添加了服务器端代码,我试图创建这些行 - 是否需要在这里进行更改? – Blake
不,你的web方法返回一个正确的JSON字符串,你需要将它转换回一个JavaScript对象,试试:'d = $ .parseJSON(d)' – Mark