我在asp.net webservice中使用morris.js时遇到了一些问题,下面是我的js代码:
function Graph() {
var dd = JSON.stringify({ "panum": pnum, "rubnum" : rnum });
$.ajax({
type: 'GET',
url: "MyService.asmx/Getchartdata",
dataType: 'json',
async: false,
contentType: "application/json; charset=utf-8",
data: dd,
success: function (result) {
dd = result; // also tried data.d
},
error: function (xhr, status, error) {
alert(error);
}
});
return dd;
}
$(document).ready(function () {
Morris.Line({
element: 'area-example',
data: Graph(),
xkey: 'DAT',
ykeys: ['VAL'],
labels: ['VAL'],
smooth: false
});
});
</script>这里是我的webservice方法的代码
public class ChartPointClass
{
public string DAT { get; set; }
public string VAL { get; set; }
}
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
[WebMethod(EnableSession = true)]
public string Getchartdata(int panum, int rubnum)
{
string result = "";
using (Entities me = ContextFactory.ObtainContext())
{
var q = from n in me.VISRUBs.Where(a => a.RUBNUM == rubnum && a.VISANA.VISITE.PANUM == panum)
.OrderBy(a => a.VISANA.VISITE.DATEVIS).ToList()
select new ChartPointClass()
{
DAT = String.Format("{0:dd/MM/yyyy}", (DateTime)n.VISANA.VISITE.DATEVIS.Value),
VAL = n.VALEUR
};
JavaScriptSerializer serializer = new JavaScriptSerializer();
result = serializer.Serialize(q.ToList());
return result;
}
}我还检查了从我的web服务返回的数据是否为以下格式
<string xmlns="http://MyWebsite.net/WebServices">{"DAT":"12/01/2015","VAL":"0.92"},{"DAT":"22/01/2015","VAL":"1.00"},{"DAT":"15/02/2015","VAL":"0.98"}
问题是此设置的内部服务器错误和控制台中的错误未捕获TypeError: Cannot read property 'match‘of undefined。
你知道我错过了什么吗?
发布于 2015-10-07 10:59:47
function CreateGraph(dt) {
Morris.Line({
element: 'area-example',
data: $.parseJSON(dt),
xkey: 'DAT',
ykeys: ['VAL'],
labels: ['VAL'],
smooth: false,
parseTime: false
});
}
$(document).ready(function () {
var dd = JSON.stringify({ "panum": 5211, "rubnum": 22});
$.ajax({
type: 'POST',
url: "MyWebService.asmx/Getchartdata",
dataType: 'json',
async: false,
contentType: "application/json; charset=utf-8",
data: dd,
success: function (result) {
CreateGraph(result.d)
},
error: function (xhr, status, error) {
alert(error);
}
});
});解析时间参数是一个关键元素。
https://stackoverflow.com/questions/32955261
复制相似问题