Ausführen curl-Befehl mithilfe von jquery-ajax
Ich ausgeführt curl-Befehl mit der folgenden Eingabe an die mongoDB.
curl --data 'cmd={"geoNear" : "items", "near":[6.8590845,79.9800719]}' 'http://72.123.xxx.xxx:27080/weather/_cmd'
Möchte ich ausführen, dass die Verwendung von jsonp oder json und erhalten die Antwort. Ich habe Versucht, aus jsonp-Anfrage.
var url = "http://72.123.xxx.xxx:27080/weather/_cmd";
$.getJSON(url + "?callback=?",
{
cmd:{"geoNear" : "items", "near": 6.8590845,79.9800719]}
},
function(tweets) { }
);
Habe ich Nichts von der Konsole.
Bitte helfen Sie mir mit diesem. danke.
- Was haben Sie versucht?
- Ich Update die Frage, Sorry.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Endlich Komme ich mit der Lösung.
Fügen Sie über Proxy-pass, um Ihre Apache, und versuchen Sie diese. wird es funktionieren. problem ist, Sie nicht pass-POST-Anforderung durch die Verwendung von jsonp. "mongo" wir brauchen POST-Anfragen. dies ist ein Weg, es zu tun. 😀 habe es getestet und funktioniert perfekt für mich. es wird nicht akzeptieren, json und Sie müssen übergeben Sie als string.
Bekommen Sie wahrscheinlich gar nichts, weil entweder Ihre MongoDB-Instanz nicht unterstützt JSONP (und Sie müssen es, weil Sie normalerweise nicht tun können, cross-domain-ajax-requests) oder die Abfrage ist falsch (anscheinend haben Sie zu verwenden
?jsonp=
statt?callback=
).Eine Möglichkeit wäre die Verwendung von JSONP direkt. Da man sich mit jQuery könnte man versuchen so etwas wie, dass:
Gemäß dieser StackOverflow Antwort:
Tut MongoDB native REST-Schnittstelle?
sollte es funktionieren, wenn Sie Feuer MongoDB-Instanz mit
--jsonp
option (damit aktivieren Sie die Unterstützung von JSONP). Ich habe es nicht versucht, aber.Außerdem kann es andere Probleme. Zum Beispiel kann die Datenbank einfach die Verbindung, Sie haben eventuell keine Berechtigungen, etc. Generell ist es nie eine gute Idee, um eine Verbindung vom client zum Datenbank direkt. Sie sollten mit einem web-server als ein Mann in der Mitte.