首先,感谢您的帮助!
基本上,当有人点击折线图中的数据点时,我在Highcharts中使用Highslide来显示一些图片。以下是代码:
hs.htmlExpand(null,
{
pageOrigin:
{
x: this.pageX,
y: this.pageY
},
headingText: "<p style='margin: 0 auto;'> Weight: " + this.y,
maincontentText: "<p class='pictures'></p>" +
$.ajax
({
type: "post",
url: "pictures.php",
data:
{
"date" : this.Pictures
},
success: function(result)
{
$('.pictures').html(result);
}
}),
width: 700,
height: 600
});
现在,Highslide正确显示图片,但它也会在Highslide弹出窗口的末尾输出“[Object object]”。如果我将我的php页面改为“echo'test';”,它会显示单词“test”,然后显示[Object object]。
关于如何摆脱这个[Object object]片段的任何想法?
谢谢!
答案 0 :(得分:0)
你的ajax似乎正在返回一个json对象。您需要解析该对象以格式化要显示的结果,或者返回HTML而不是......
编辑::
第二个想法,似乎更像是你如何指定主要内容的问题。
使用HTML末尾的+作为主要内容,您将ajax调用作为内容包含在内。
我会在maincontent中指定html元素,但是将ajax删除为onAfterExpand调用。
http://highslide.com/ref/hs.Expander.prototype.onAfterExpand
答案 1 :(得分:0)
有趣的是,在看到您的other question之前,我无法使用此解决方案,因为 onAfterExpand 的用法对于我来说并不明确且不常见。 所以我找到了Ajax,Highcharts和Highslide的另一个有效组合:) 在plotOptions.spline.point.events内部是这样的:
var casper = require('casper').create();
var utils = require('utils');
casper.start('https://example.com/');
casper.on('page.resource.requested', function (requestData, networkRequest) {
utils.dump(requestData.headers);
});
casper.run();