2016-04-13 12 views
0

Ich versuche, eine Webseite zu erstellen, die Anfragen in eine Neo4j-Datenbank machen wird.Mit requireJS 'lib/request' in HTML-Code laden

ich tun, um die Anforderung von einer Javascript-Datei /projectFolder/js/query.js:

function submitQuery() { 
    var r = require("request"); 
    var txUrl = "http://localhost:7474/db/data/transaction/commit"; 

    //defines the cypher query 
    var query="MATCH (n:Word) RETURN n, labels(n) as l LIMIT {limit}" 
    var params={limit: 10} 
    var cb=function(err,data) { console.log(JSON.stringify(data)) } 

    r.post({uri:txUrl, 
      json:{statements:[{statement:query,parameters:params}]}}, 
      function(err,res) { cb(err,res.body)}) 

} 

und in meinem projectFolder/index.html ich habe:

. 
. 
. 
<script data-main="js/query.js" src="js/libs/require-2.1.20.min.js"></script> 
<head> 
    <script type="text/javascript" src="query.js"></script> 
</head> 
. 
. 
. 

Wenn ich die submitQuery() Funktion aufrufen, es geht nicht durch die var r = require("request"); Linie .

Ich habe für einige verwandte Themen gesucht und am Ende versucht,

require.config({ 
    baseUrl: './js/', 
    paths: { 
     request:'libs/require', 
     }, 
}); 

am Anfang meiner query.js Einfügen, bekam aber die gleiche Leistung.

Kann mir jemand ein Licht geben? Vielen Dank!

Antwort

1

Sie versuchen, ein node.js-Modul ("Anfrage") aus einem Browser zu verwenden. Browser unterstützen node.js nicht nativ und haben keine require-Funktion.

Wenn Sie wirklich node.js Module verwenden müssen, sollten Sie browserify aussehen in mit Ihrem node.js Client-Code in ein Skript zu bündeln, dass kann läuft in einem Browser.

Ansonsten kann this example that uses jQuery hilfreich sein.

+0

Beide Alternativen scheinen wirklich gut zu sein! Vielen Dank! –