getJSON приводит к ошибке синтаксического анализа XML? - PullRequest
1 голос
/ 17 августа 2011

Я новичок в javascript и подумал, что я попытаюсь получить некоторую информацию из базы данных (и, в конце концов, надеюсь, что получу ее!).

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>Flot Examples</title>
      <link href="layout.css" rel="stylesheet" type="text/css">
      <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->
      <script language="javascript" type="text/javascript" src="../jquery.js"></script>
      <script language="javascript" type="text/javascript" src="../jquery.flot.js"></script>
   </head>
      <body>
      <h1>Test Javascript:</h1>


  <script type="text/javascript">
  $(function () {
      $.get("http://localhost:8000/activity?starttime=13129788041&endtime=0&hostid=1", function(data) {
          $.each(data, function(i,item){
              document.write(i);
          });
      });
  });
  </script>

   </body>
  </html>

Строка "http://localhost:8000/activity?starttime=13129788041&endtime=0&hostid=1" возвращает то, что я ищу, если я наберу это в окне браузера:

{ "1.313496422E9": [0.21000000000003638,448,12754,1.868579977195076]}

Но не работает в javascript.

Если я смотрю с httpfox, появляется ошибка

application / xml (NS_ERROR_DOM_BAD_URI)

Но если я просматриваю вкладку «содержимое» в httpfox, я на самом деле вижу данные, которые мне нужны, но есть ошибка синтаксического анализа XML.

<?xml-stylesheet
  href="chrome://global/locale/intl.css" type="text/css"
  ?>
  <parsererror>
  XML Parsing Error: not well-formed Location: chrome://browser/content/browser.xul Line Number 1, Column 1:
  <sourcetext>
  {"1.313496422E9":[0.21000000000003638,448,12754,1.868579977195076]} ^
  </sourcetext>
  </parsererror>

NS_ERROR_DOM_BAD_URI, похоже, относится к междоменным проблемам, но я работаю локально на реальном сервере, поэтому я могу получить доступ к данным? Кроме того, почему возникает ошибка синтаксического анализа XML, когда я вижу нужные данные на вкладке «Содержимое» httpfox?

Я, вероятно, делаю что-то ужасно любительское, но любая помощь / мысли / оскорбления приветствуются!

Приветствия

Rob.

1 Ответ

1 голос
/ 17 августа 2011

Либо ваш json искажен с сервера, либо ... вы на самом деле не используете функцию jQuery.getJSON. Если вы хотите использовать jQuery.get, вам нужно указать тип данных json в качестве последнего параметра.

http://api.jquery.com/jQuery.getJSON/

$.get("http://localhost:8000/activity?starttime=13129788041&endtime=0&hostid=1", function(data) {
          $.each(data, function(i,item){
              document.write(i);
          });
      }, 'json');
...