2013-05-28 3 views
0

Во-первых, спасибо за помощь!Использование Ajax для maincontentText в Highslide (в Highcharts)

В принципе, я использую Highslide в Highcharts для отображения некоторых изображений, когда кто-то нажимает на datapoint в линейном графике. Ниже приведен код:

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 правильно отображает изображения, но он также выводит «[объект Object]» в конце Highslide Выдвижной. Если я изменю свою страницу php на «echo» test '; ", отобразится слово« test », а затем [Object object].

Любые идеи о том, как избавиться от этого объекта [Object object]?

Спасибо!

ответ

0

Ваш ajax, кажется, возвращает объект json. Вам нужно будет разобрать этот объект для форматирования результата, который вы хотите отобразить, или вернуть HTML вместо ...

Edit ::

на второй мысли, это больше похоже на вопрос с тем, как Ваш, указав основное содержание.

Используя + в конце вашего HTML для основного контента, вы включаете вызов ajax в качестве контента.

Я бы указал элемент html в вашем maincontent, но вместо этого удалите ajax вместо вызова onAfterExpand.

http://highslide.com/ref/hs.Expander.prototype.onAfterExpand

+0

Я попытался с помощью Datatype: 'HTML', но он по-прежнему приводит к [объект Object] в конце Выдвижной. Моя страница php выводит HTML (три изображения и некоторые абзацы). Что-нибудь еще я должен попробовать? – TonTon4Life

+0

[object Object] означает, что возвращаемые данные являются объектом. Затем вы заполняете свой абзац этим объектом. Вам нужно будет проанализировать объект, чтобы получить содержимое. Попробуйте сделать console.log на возвращаемом объекте - в консоли вы сможете увидеть содержимое объекта и ключи, с помощью которых можно получить к нему доступ. – jlbriggs

+0

Сюжет сгущается ... Я изменил страницу php так, чтобы он просто выводил «это тест», используя эхо. Теперь, в моем popout, я получаю «это тест», за которым следует «[Object Object]» в новой строке. Когда я делаю console.log для вывода результата из ajax выше, он просто дает мне строку «это тест» - он не распознает какой-либо другой вывод, который может быть интерпретирован как данные JSON. Я также должен заметить, что если я заменил весь бит ajax выше в части maincontentText на «test», он выведет «тест» в popout без [object Object] ... поэтому я думаю, что это связано с Ajax – TonTon4Life