AJAX Простая Ошибка. XMLHttpRequest не может загрузить http: //localhost/mpl/getPage.php. Нулевой источник не разрешен Access-Control-Allow-Origin

-4

Возможный дубликат:
Ошибка XmlHttpRequest: Происхождение null не разрешено Access-Control-Allow-Origin

Я новичок в JavaScript Phonegap и AJAX. Я пытаюсь написать простое приложение Phonegap, которое будет запрашивать сообщение с сервера, однако приложение не отвечает. Когда я запускаю свой скрипт на браузере Chrome как файл, потому что я понимаю, что так работает Phonegap, он показывает, что XML файл XMLHttpRequest cannot load http://localhost/mpl/getPage.php. Origin null is not allowed by Access-Control-Allow-Origin. XMLHttpRequest cannot load http://localhost/mpl/getPage.php. Origin null is not allowed by Access-Control-Allow-Origin.

Как я могу это исправить? Мой код ниже.

<html>
<head>
<script type="text/javascript">
function getMessage()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("serverReply").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","http://localhost/mpl/getPage.php",true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="serverReply" onclick="getMessage();"><b>Get message</b></div>

</body>
</html>

Мой getPage.php просто это просто

<?php

echo 'cool';

?>

Прошу помочь. Благодарю.

  • 0
    «Когда я запускаю свой скрипт в браузере chrome как файл [...]», XMLHttpRequest не разрешен для файла: // протоколы
Теги:
cordova

1 ответ

1
Лучший ответ

используйте ниже код

<div id="serverReply"><b><a href="#"  onclick="getMessage();">Get message</a></b></div>

вложенный

<div id="serverReply" onclick="getMessage();"><b>Get message</b></div>

Или попробуйте это

<html>
<head>
<script type="text/javascript">
function getMessage()
{
  if (window.XMLHttpRequest)
  {
      // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();

  }else
  {
    // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

    xmlhttp.onreadystatechange=function()
  {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        alert(xmlhttp.responseText);
        document.getElementById("serverReply").innerHTML=xmlhttp.responseText;

    }
  }
    xmlhttp.open("GET","http://localhost/mpl/getPage.php",true);
    xmlhttp.send();
}
</script>
</head>
<body>

<div id="serverReply"><b><a href="#"  onclick="getMessage();">Get message</a></b></div>

</body>
</html>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню