nicht erkennen Ich verwende Knoten und MySQL für das Back-End und Polymer für Front-End, und ich kann nicht Polymer erhalten, um ein JSON-Array zu rendern.Polymer mit Knoten und MySQL JSON
Node/MySQL-Code
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
database : 'test'
});
connection.connect();
connection.query('SELECT * FROM ACTIVITY', function(err, rows, fields) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
json = JSON.stringify(rows);
console.log(json);
});
connection.end();
Polymer Frontend
<paper-dropdown-menu label="Activity Selection">
<iron-ajax
id="getActivity"
auto
url="scripts/dbcon.js"
handle-as="json"
on-response="handleResponse"
last-response="{{ajaxResponse}}">
</iron-ajax>
<paper-listbox class="dropdown-content">
<template is="dom-repeat" items="[[ajaxResponse]]">
<paper-item><b>{{item.ACTIVITY_NAME}}</b></paper-item>
</template>
</paper-listbox>
</paper-dropdown-menu>
JSON Ausgabe
[{"ID":1,"ACTIVITY_NAME":"Coffee"},{"ID":2,"ACTIVITY_NAME":"Gym"},{"ID":3,"ACTIVITY_NAME":"Lunch"},{"ID":4,"ACTIVITY_NAME":"Vending Machine"},{"ID":5,"ACTIVITY_NAME":"Pool"}]
Wenn ich laufen thi s-Befehl: node dbcon.js
, die Ausgabe von console.log
ist das JSON-Array, das oben gezeigt wird.
Aus irgendeinem Grund erkennt Polymer das JSON-Array nicht. In der Chrome DevTools-Konsole gab es keine Fehler/Ausgaben.
In einem anderen Testszenario (die arbeiten), I kopiert manuell die JSON Array in eine Datei ausgegeben, geändert, um die Parameter aus url
"scripts/dbcon.js"
zu "scripts/test.json"
und nachgeladen die Elektronen app; und Polymer konnte den JSON-Inhalt in der Dropdown-Liste anzeigen.
Danke für die Eingabe und Information. – blitz
@blitz Kein Problem :) – tony19
* Fortsetzung bearbeiten Danke für die Eingabe und Information. Im Moment benutze ich keinen Server, ist es immer noch möglich, das Abfrageergebnis zu extrahieren, um mit json.stringify zu json zu konvertieren und dann die tatsächlichen json-Daten zu erhalten, die übergeben/geparst werden sollen? In der Zukunft kann ich dies auf einem tatsächlichen Server bereitstellen. – blitz