вызов ajax не запускает код jquery - PullRequest
0 голосов
/ 17 декабря 2010

Привет В моем сценарии я пытаюсь вызвать страницу через ajax, а затем вставить содержимое этой страницы в DOM. Целевая страница имеет этот код:

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script src="js/highcharts.js" type="text/javascript"></script>
<script type="text/javascript">
var chart1; // globally available
$(document).ready(function() {
  chart1 = new Highcharts.Chart({
     chart: {
        renderTo: 'chart-container-1',
        defaultSeriesType: 'bar'
     },
     title: {
        text: 'Fruit Consumption'
     },
     xAxis: {
        categories: ['Apples', 'Bananas', 'Oranges']
     },
     yAxis: {
        title: {
           text: 'Fruit eaten'
        }
     },
     series: [{
        name: 'Jane',
        data: [1, 0, 4]
     }, {
        name: 'John',
        data: [5, 7, 3]
     }]
  });
});
</script>
</head>
<div id="chart-container-1" style="width: 100%; height: 400px"></div>

Это из скрипта highcharts. Когда я делаю вызов ajax, я просто получаю пустой div. Тем не менее, когда я запускаю страницу без вызова ajax, она работает просто отлично.

EDIT: Страница, которую я запрашиваю, содержит скрипт jquery, однако я не использую скрипт jquery для его вызова. Я использую эти функции вместо:

function callAHAH(url, pageElement, callMessage, errorMessage) {
 document.getElementById(pageElement).innerHTML = callMessage;
 try {
 req = new XMLHttpRequest(); /* e.g. Firefox */
 } catch(e) {
   try {
   req = new ActiveXObject("Msxml2.XMLHTTP");  /* some versions IE */
   } catch (e) {
     try {
     req = new ActiveXObject("Microsoft.XMLHTTP");  /* some versions IE */
     } catch (E) {
      req = false;
     } 
   } 
 }
 req.onreadystatechange = function() {responseAHAH(pageElement, callMessage, errorMessage);};
 req.open("GET",url,true);
 req.send(null);
}

function responseAHAH(pageElement, callMessage, errorMessage) {
var output = '';
if(req.readyState == 4) {
  if(req.status == 200) {
     output = req.responseText;
     document.getElementById(pageElement).innerHTML = output;
     } else {
     document.getElementById(pageElement).innerHTML = errorMessage+"\n"+output;
     }
  }
}

Ответы [ 2 ]

2 голосов
/ 17 декабря 2010

jQuery AJAX вызывает метки сценариев из ответа, если только вы не установили опцию типа данных «html»

Убедитесь, что вы установили тип данных html.

$.ajax({url:"/sompage.html",datatype:"html",type:"GET"});

См. Документацию здесь

0 голосов
/ 17 декабря 2010

если вы используете панель обновления

Sys.Application.add_load(your_function);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...