2016-05-25 2 views
1

Я пытаюсь передать свои переменные Голанга в файл Javascript. Я прочитал несколько статей в Интернете, включая How to pass variables and data from PHP to JavaScript?. Я чувствую, что я довольно близко, но, увы, самая красноречивая реализация этой проблемы ускользает от меня.Передать переменные Голанга в Javascript

Я ищу простое и изящное решение, которое вводит значение объекта в Go с переменной в Javascript. Я чувствую, что это очень распространенная проблема, поэтому отсутствие четкого руководства об этом меня удивляет.

Мой первый файл [server.go] сервер HTML-страницы, используя библиотеки шаблонов в Голанге, проходящие в контексте и обслуживающие их через Handlers.

type PassStruct struct{ 
    data []int 
    number1 int 
    number2 int 
} 

//inject the structure into render 
func render(w http.ResponseWriter, tmpl string, context Context){ 
     //parse context and fill in templating variables using template 
} 

У меня теперь есть HTML-документ, который подается, который добавляет к нему файл Javascript.

<html> 
    <head> 
    //import javascript file 
    </head> 
    <body> 
    //some body 
    </body> 
</html> 

Наконец, Javascript файл, что я на самом деле интересно:

var data; //some 
    var number1; 
    var number2; 

    function doSomething(){ 
    } 

Мне нужно отправить PassStruct в файл Javascript, и наметить каждое из значений в пределах структуры к переменная в файле Javascript. Я пробовал звонки AJAX, но пока не добился успеха.

+0

Для большинства языков шаблонных кодирование JSON является самым безопасным способом, см HTTPS://gobyexample.com/json –

ответ

0

Таким образом, может быть полезно:

Html:

<html> 
    <head> 
    <!--import javascript file --> 
     <script type="text/javascript" src="static/myjs.js"></script> 
     <script type="text/javascript"> 
      myFunc({{.}}); 
     </script> 
    </head> 
    <body> 
    <!--some body--> 
    </body> 
</html> 

Javascript: (myjs.js)

function myFunc(passStruct){ 
    var obj = Object(); 

    var data = passStruct.Data; 
    var number1=passStruct.Number1; 
    var number2=passStruct.Number2; 

    obj.data=data; 
    obj.number1=number1; 
    obj.number2=number2; 

    return obj; 
} 
Смежные вопросы