2015-07-08 3 views
0

я получаю Запрошенная содержание с:Google Api асинхронная Ответный Failed

function httpGet(theUrl) 
{ 
    var xmlHttp = new XMLHttpRequest(); 
    xmlHttp.open("GET", theUrl, false); 
    xmlHttp.send(null); 
    alert(xmlHttp.status); 
    return xmlHttp.responseText; 
} 

После того, как содержание анализируется в мой новый сайт с помощью:

$Test = httpGet("www.content.com"); 
document.getElementById("div_content").innerHTML = document.getElementById("div_content").innerHTML + $Test; 

После этого я буду использовать Google API асинхронная с обратного вызова, но функция обратного вызова thorws сообщение об ошибке

loadScriptFunc('https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true&callback=loadScript'); 

ошибка: window.loadScript is not a function

Я уже делал это с jquery $ .get, и это сработало для меня.

Edit: Функция загружается следующим образом:

if(document.getElementById('map_canvas')){ 
      loadScriptFunc('https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true&callback=loadScript'); 
      } 

Сама функция выглядит так:

function loadScriptFunc(url) 
{ 
    var head = document.getElementsByTagName('head')[0]; 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.src = url; 
    head.appendChild(script); 
} 

И функции loadScript выглядит следующим образом:

function loadScript() { 
      var head = document.getElementsByTagName('head')[0]; 
      var script = document.createElement('script'); 
      script.type = 'text/javascript'; 
      script.src = 'http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/src/infobox.js'; 
      head.appendChild(script); 
      bLoaded = true; 
      window.setTimeout("activateMap()", 100); 
     } 

Функции loadScript принадлежат файлу шаблона моей карты. Этот код уже работал для меня с Jquerys- $ .Get-функцией того же обратного вызова и так далее. Но мне не разрешено использовать jquery ...

Редактировать 2: Я нашел что-то в Интернете, и я думаю, что знаю, в чем проблема.

У меня был успех с jQuery.load(), поскольку он выполняет блоки и ресурсы JavaScript-кода, которые присутствуют внутри извлеченного контента. Извините, нет демо для этого!

Я думаю, я не могу выполнить код из XMLHttpRequest, кто-нибудь знает еще один метод js, чтобы получить некоторый контент с URL-адреса?

+0

loadScript не является функцией. jQuery's $ .loadScript - это функция. Это одна из вещей, которые JQuery делает для вас. –

+0

loadScript - одна из моих собственных функций в виде datei. –

+0

Сообщение об ошибке говорит, что функция не существует. Возможно, вы не загружаете скрипт, где определяется loadScript. Или, может быть, он загружен позже, поэтому он еще не существует, когда это необходимо. Можете ли вы показать функцию и как/где вы загружаете ее ...? –

ответ

0

А, я знаю, что произошло. Это Google Maps, который говорит вам, что он не может найти loadScript().

Итак, вы говорите Google Maps: maps.googleapis.com/maps/api/js?v=3.exp & signed_in = истина & обратного вызова = loadScript

Посмотрите, что происходит; Я говорю Google Maps, чтобы вместо этого вызвать инициализацию.

<style> 
    #map_canvas {width: 400px; height: 400px;} 
</style> 
<div id="map_canvas"></div> 
<script> 
function initialize() { 
    var my_position = new google.maps.LatLng(50.5, 4.5); 
    var map = new google.maps.Map(document.getElementById('map_canvas'), { 
    center: my_position, 
    zoom: 7 
    }); 
} 
function loadScriptFunc(url) { 
    var head = document.getElementsByTagName('head')[0]; 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.src = url; 
    head.appendChild(script); 
} 
if(document.getElementById('map_canvas')) { 
    loadScriptFunc('https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true&callback=initialize'); 
} 
</script> 
+0

Я не знаю, как ваш код должен помочь мне решить мою проблему, initiliza не будет работать и для меня. В связи с этим моя функция loadScript будет вызывать активировать Map функцию, которая инициализирует карту. –

+0

Слушайте, я говорю вам, что вы не можете сказать Google Maps «callback = loadScript», если loadScript не существует. Об этом сообщается вам отчет об ошибках. Теперь, каков твой вопрос? –

+0

Но loadScript существует, вот что я вам скажу. Как я писал, тот же метод работал для меня уже. Google принимает собственные функции в качестве обратного вызова. –

Смежные вопросы