2013-03-15 4 views
0

Я знаю, что уже есть много подобных вопросов, но я все еще не могу понять, что происходит. Я не очень хорошо знаком с AJAX и очень хорошо разбираюсь в javascript.Выполнение Javascript с использованием AJAX

Сценарий:

У меня есть страница index.html, который работает Аякса и файл (sub.html), который имеет JavaScript (не JS файл включен.), Это вручную закодированный Javascript в sub.html.

Пример:

(index.html)

$('#content').load(pageurl + '#inner_content', function(){ 

//some code 

}); 

(sub.html)

<script type="text/javascript"> 
    (function($){ 
     var interactive_chart_config = { 
     zoom_historical_default: [% chart_config.chart.chart_interactive.zoom_historical_default %], 
     zoom_intraday_default: [% chart_config.chart.chart_interactive.zoom_intraday_default %], 
     quotes_delay: [% ir.var.Config.format.quotes_delay %], 
     news_on_chart: { 
      [% news_types = chart_config.chart.chart_interactive.news_on_chart.keys %] 
      [% FOREACH news_type = news_types %] 
      [% news_type %]: { 
       [% news_options = chart_config.chart.chart_interactive.news_on_chart.${news_type}.keys %] 
       [% FOREACH news_option = news_options %] 
       [% news_option %]: [% chart_config.chart.chart_interactive.news_on_chart.${news_type}.${news_option} ? 'true' : 'false' %][% IF news_option != news_options.last %],[% END %] 
       [% END %] 
      }[% IF news_type != news_types.last %],[% END %] 
      [% END %] 
     }, 
     modify_news: [ 
      [% FOREACH news = chart_config.chart.chart_interactive.modify_news.news %] 
      { 
       [% FOREACH key = news.keys %] 
       [% key %]: '[% news.${key} %]'[% IF key != news.keys.last %],[% END %] 
       [% END %] 
      }[% IF news != chart_config.chart.chart_interactive.modify_news.news.last %],[% END %] 
      [% END %] 
     ] 
     }; 

     $(document).ready(function(){ 
     $('#content_container').web_chart($.extend({}, { 
      theme : Highcharts.theme, 
      counter_code : "[%= stock_ids.first %]", 
      plot_on_load : true, 
      always_reload : true, 
       loading_indicator_id : 'loading_indicator', 
       chart_setting_id  : 'chart_setting', 
       counter_list_form_id : 'counter_list_form', 
       chart_container_id : 'chart_container', 
       css_class_for_flags : {'N' : 'news_tooltip', 'I' : 'insider_trades_tooltip', 'C' : 'corporate_actions_tooltip'} 
     }, interactive_chart_config)); 
     }); 
    })(jQuery); 

    </script> 

Как выполнить JavaScript для sub.html с использованием AJAX в индексе. HTML?

Надеюсь, вы, ребята, можете мне помочь. Заранее спасибо.

ответ

1

Использовать function.

<script type="text/javascript> 
    function stuffFromSub() { 
     var foo = "I do stuff"; 
     return foo; 
    } 
</script> 

, а затем в load()

$('#content').load(pageurl + '#inner_content', function(){ 
    stuffFromSub() 
}); 
+0

Привет, Кристофер, спасибо, что помогли мне. Я отредактировал свой вопрос и добавил в фактический код javascript. Я не знаю, как использовать ваш ответ, чтобы решить эту часть javascript. = x – Dr3am3rz

0

Если вы пытаетесь использовать AJAX, чтобы получить страницу, содержащую JavaScript на нем, потребуется запустить Eval() на нем, который был бы большой нет нет.

Лучшим решением для этого было бы создать файл .js вместо файла .html и ссылку на него. Поместите код, который вы хотите запустить в функцию, чтобы вы могли позвонить ему, когда захотите.

+0

Привет, Райан, я пытался сделать это, но javascript содержит некоторые кодовые кодировки, поэтому я застрял. – Dr3am3rz

+0

К сожалению, я не уверен, какой язык используется для вашего sub.html, или он может даже быть в каком-то шаблоне. Если возможно, бэкэнд-кодирование может установить тип содержимого файла, позволяющий по-прежнему вызывать файл со сценарием. В противном случае вы можете запустить include sub.html в файле index.html. Все это действительно зависит от языка на стороне сервера, и если у вас есть контроль над ним. Если нет, вы не сможете это сделать. –

+0

Я вижу. Жаль, что у меня нет контроля над этим. Вздох. Спасибо, в любом случае. – Dr3am3rz