5

mongoDB への次の入力を使用して curl コマンドを実行しました。

curl --data 'cmd={"geoNear" : "items", "near":[6.8590845,79.9800719]}' 'http://72.123.xxx.xxx:27080/weather/_cmd'

jsonp または json を使用してそれを実行し、応答を取得したい。以下のjsonpリクエストを試しました。

var url =  "http://72.123.xxx.xxx:27080/weather/_cmd";
$.getJSON(url + "?callback=?",
    {
        cmd:{"geoNear" : "items", "near": 6.8590845,79.9800719]}
    },
    function(tweets) { }
);

コンソールから何も得られませんでした。これで私を助けてください。ありがとう。

4

2 に答える 2

5

最後に、私は解決策を考え出します。

$.ajax({
    url: '/weather/_cmd',
    type:'POST',
    dataType: 'json',
    crossDomain : true,
    data: {
        cmd: JSON.stringify({
            "geoNear" : "items",
            "near": [6.8590845,79.9800719]
        })
    },
    success: function(res) {
        //do stuff with res
    }
});

ProxyPass /weather http://72.123.xxx.xxx:27080/weather/_cmd
ProxyPassReverse /weather http://72.123.xxx.xxx:27080/weather/_cmd

上記のプロキシ パスを Apache に追加して、これを試してください。それが動作します。問題は、jsonp を使用して POST リクエストを渡すことができないことです。mongo POST リクエストが必要です。これはそれを行う1つの方法です。:D 私はそれをテストし、完璧に動作します。json を受け入れず、文字列として渡す必要があります。

于 2013-08-20T10:49:11.407 に答える