2014-07-31 3 views
0

У меня есть некоторые проблемы извлечения информации из питона и попытаться показать данные в HTML-страницу я получаю дату из питона сценария (data.py)Получение данных из питона в Javascript и AJAX

import cx_Oracle 
import json 

lst_proveedores=[{}] 
conn_str = 'user/[email protected]' 
conn = cx_Oracle.connect(conn_str) 
c = conn.cursor() 
c.execute('select id, name from provider') 
for row in c: 
    record1 = {"id":row[0], "name":row[1]} 
    lst_proveedores.append(record1) 
json_string = json.dumps(lst_proveedores) 
print json_string 
conn.close() 

Я пытаюсь разобрать информацию с AJAX в HTML-странице

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
function ajax_get_json(){ 
    var results = document.getElementById("results"); 
    var hr = new XMLHttpRequest(); 
    hr.open("GET", "prov1.py", true); 
    hr.responseType = "JSON"; 
    hr.setRequestHeader("Content-Type", "application/json", true); 
    hr.onreadystatechange = function() { 
      if(hr.readyState == 4 && hr.status == 200) { 
        var data = JSON.parse(hr.responseText); 
         results.innerHTML = ""; 
         for(var obj in data){ 
           results.innerHTML += data[obj].id+" is "+data[obj].nombre+"<hr />"; 
         } 
      } 
    } 
    hr.send(null); 
    results.innerHTML = "requesting..."; 
} 
</script> 
</head> 
<body> 
<div id="results"></div> 
<script type="text/javascript">ajax_get_json();</script> 
</body> 
</html> 

, но не работаю я настройка Apache для выполнения питона сценариев и работать с очень простыми скриптами, но не работает, когда я извлечение данных из база данных Как я могу ow данные на странице html? Или на каком языке или рамки может я могу использовать, чтобы показать данные Любые советы Я отчаянных Заранее спасибо

ответ

0

Прежде всего, вы должны попробовать посетить ваш питон файлы в браузере. Если вы не видите json print на странице, есть проблемы с вашим сервером или кодом на Python.

Если это работает, это может быть что-то неправильно в вашем запросе Ajax.

Вы можете использовать jQuery или zepto.js, чтобы помочь. Они содержат метод Ajax: $ .ajax.

Вы можете посетить: http://zeptojs.com Ищите «$ .ajax» на странице справки;)

=========================================================================================================================== ==================

попробовать это:

//var data = JSON.parse(hr.responseText); 
var data = JSON.parse(hr.response); 

================== ===========================================

и это мой код функции onreadystatechange, используйте его, если это помогает:

ajaxObject.onreadystatechange = function(){ 
    //console.info('[Ajax request process] url:' + url +'; readyState:' + ajaxObject.readyState + '; status:' + ajaxObject.status); 
    if (ajaxObject.readyState == 4 && ((ajaxObject.status >= 200 && ajaxObject.status < 300) || ajaxObject.status == 304)){ 
     var result = null; 
     switch (dataType){ 
      case 'text': 
       result = ajaxObject.responseText; 
       break; 
      case 'xml': 
       result = ajaxObject.responseXML; 
       break; 
      case 'json': 
      default: 
       result = ajaxObject.response ? JSON.parse(ajaxObject.response) : null; 
       break; 
     } 
     if (typeof(success) == 'function'){ 
      success(result,url); 
     } 
    }else if (ajaxObject.readyState > 1 && !((ajaxObject.status >= 200 && ajaxObject.status < 300) || ajaxObject.status == 304)){ 
     console.warn('[Ajax request fail] url:' + url +'; readyState:' + ajaxObject.readyState + '; status:' + ajaxObject.status); 
     if (typeof(error) === 'function' && errorCallbackCount == 0){error(url);errorCallbackCount++;} 
     return false; 
    } 
} 
+0

Ну, я тестирую A JAX и работать с простым json-файлом, но с скриптом python не работают – Joseleg

+0

@Joseleg, что произойдет, если вы посетите свой скрипт python непосредственно в браузере, таком как chrome? – Maplemx

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